1. 标准参数
- -help
- -server, -client
- -version, -showversion
- -cp, -classpath
2. X参数
- 非标准化参数(在各个JDK版本中可能会变,但是变动比较小)
- -Xint:解释执行
C:\Users\Gumj>java -Xint -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, interpreted mode)
- -Xcomp:编译执行 第一次使用就编译成本地代码
C:\Users\Gumj>java -Xcomp -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, compiled mode)
- -Xmixed:混合模式(默认),JVM自己来决定是否编译成本地代码
C:\Users\Gumj>java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
3. XX参数
- 非标转化参数
- 相对不稳定
- 主要用于JVM调优和Debug
- 参数分类:
- Boolean类型 格式:-XX:[+-]<name> 表示启用或者禁用name属性。冒号后的([+]号代表启用,[-]代表禁用)
-XX:+UseConcMarkSweepGc //表示启用CMS垃圾收集器
-XX:+UseG1Gc //表示启用G1垃圾收集器
- 非Boolean类型 格式:-XX:<name>=<value>表示name属性的值是value。
-XX:MaxGcPauseMillis=500 //GC的最大停顿时间是500毫秒
-XX:GCTimeRatio=19 //设置吞吐量大小,它的值是一个 0-100 之间的整数。假设 GCTimeRatio 的值为 n,那么系统将花费不超过 1/(1+n) 的时间用于垃圾收集
- 不是X参数,而是XX参数
- -Xms 等价于 -XX:InitialHeapSize 初始化的堆大小
- -Xmx 等价于 -XX:MaxHeapSize 最大化的堆大小
- jinfo -flag MaxHeapSize <进程编号> -XX:MaxHeapSize=994050048 运行时最大的堆大小
- jinfo -flag ThreadStackSize <进程编号> -XX:ThreadStackSize=1024K 启动一个线程需要的内存大小
网友评论