一、JVM参数类型
JVM参数主要主要分为三大类:
1、标准参数,例如-help、-server、-client、-version、-showversion、-cp、-classpath等相对稳定的命令。
2、X参数,它是非标准化参数。在各个版本的JVM中可能会有变化,但是变化比较小。例如-Xint:解释执行。-Xcomp:第一次使用就编译成本地代码。-Xmixed:混合模式,JVM自己来决定是否编译成本地代码。
3、XX参数,它是非标准化参数,相对不稳定主要用于JVM调优和Debug。
XX参数又分为两大类:
布尔类型
格式为:-XX:[+-]<name>表示启用或者禁用name属性,+号表示启用,-号表示禁用。
例如:-XX:+UseConcMarkSweepGC或者-XX:+UseG1GC
非布尔类型
格式为:-XX:<name>=<value>表示name属性的值为value。
例如:-XX:MaxGCPauseMillis=500
-XX:GCTimeRatio=19
其中有两个常见的参数:-Xms和-Xmx参数,虽然是以-X打头,但实际是-XX类型的参数。
-Xms等价于-XX:InitialHeapSize初始化堆的大小
-Xmx等价于-XX:MaxHeapSize最大的堆大小