JVM的参数类型分为三类
1. 标准参数
这一类参数是指在JVM各版本中基本不会发生变化的,比如-version、-help等
2. X参数
X参数是非标准参数(变动比较小),并且默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容。一般有-Xint、-Xcomp、-Xmixed。一般jvm默认为混合模式。
3. XX参数
XX参数是非稳定参数,此类参数各个jvm实现会有所不同,这些都是不稳定的并且不推荐在生产环境中使用。将来可能会随时取消,需要慎重使用。此类参数一般分为两类:Boolean类型和非Boolean类型。
其中Boolean类型格式:-XX:[+-]<name>表示启用或者禁用name属性
比如:-XX:+UseConcMarkSweepGC、-XX:+UseG1GC
非Boolea类型格式:-XX:<name>=<value>表示name属性的值是value
比如:-XX:MaxGCPauseMillis=500、-XX:GCTimeRatio=19
说明:-Xms、-Xmx、-Xss是XX参数,不是X参数
-Xms等价于-XX:InitialHeapSize
-Xmx等价于-XX:MaxHeapSize
-Xss等价于-XX:ThreadStackSize