- 标准参数
-help
-server -client
-version -showversion
-cp -classpath
- X参数
非标准化参数(在各个JDK版本中可能会变,但是变动比较小)
-Xint 解释执行
-Xcomp 编译执行 第一次使用就编译成本地代码
-Xmixed 混合模式,JVM自己来决定是否编译成本地代码
用例:可以看到当前jvm为mixed mode(混合模式)
C:UsersAdministrator>java -version java version "1.8.0_161" Java(TM) SE Runtime Environment (build 1.8.0_161-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
使用命令:java -Xint -version jvm为interpreted mode(解释执行)
C:UsersAdministrator>java -Xint -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, interpreted mode)
使用命令:java -Xcomp -version jvm为compiled mode(编译执行)
C:UsersAdministrator>java -Xcomp -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, compiled mode)
- XX参数
Boolean 类型
格式:-XX:[+-]<name> 表示启用或禁用name属性 比如:
-XX:UseConcMarkSweepGC //表示启用CMS垃圾收集器 -XX:UseGcG1 //表示启用G1垃圾收集器
非 Boolean 类型
格式:-XX:<name>=<value> 表示name属性的值是value
比如:
-XX:MaxGcPauseMillis=500 //GC的最大停顿时间是500毫秒
-XX:GCTimeRatio=19 //设置吞吐量大小,它的值是一个 0-100 之间的整数。假设 GCTimeRatio 的值为 n,那么系统将花费不超过 1/(1+n) 的时间用于垃圾收集
-Xmx -Xms
-Xmx -Xms 不是X参数,而是XX参数
-Xms 等价于 -XX:InitialHeapSize //初始化的堆大小
-Xmx 等价于 -XX:MaxHeapSize //最大化的堆大小
jinfo -flag MaxHeapSize <进程编号> 运行时最大的堆大小
C:UsersAdministrator>jinfo -flag MaxHeapSize 11184
-XX:MaxHeapSize=3116367872
jinfo -flag ThreadStackSize <进程编号> 启动一个线程需要的内存大小