cmd执行命令:
java -XX:+PrintCommandLineFlags -version
输出如下
输出的东西,怎么理解?
JVM提供以下三大类选项:
标准选项
这类选项的功能是很稳定的,在后续版本中也不太会发生变化。
运行java或者 java -help 可以看到所有的标准选项。
语法: 所有的标准选项都是以 - 开头,比如-version,-server等。
X选项
这类选项的功能还是很稳定,但官方的说法是它们的行为可能会在后续版本中改变,也有可能不在后续版本中提供了.
运行 java -X 命令可以看到所有的X选项。
语法: 这类选项都是以 -X 开头,比如-Xms。
XX选项
这类选项是属于实验性,主要是给JVM开发者用于开发和调试JVM的,在后续的版本中行为有可能会变化。
语法:
如果是布尔类型的选项,它的格式为-XX:+flag或者-XX:-flag,分别表示开启和关闭该选项。
针对非布尔类型的选项,它的格式为-XX:flag=value
-XX:InitialHeapSize=132558400 #JVM初始堆内存
-XX:MaxHeapSize=2120934400 #JVM最大堆内存
-XX:+PrintCommandLineFlags
-XX:+UseCompressedClassPointers
-XX:+UseCompressedOops
-XX:-UseLargePagesIndividualAllocation
-XX:+UseParallelGC #垃圾收集器【新生代(Parallel Scavenge),老年代(Ps MarkSweep)组合】