1. 标准选项
使用 java -help 查看支持的选项
- -server
- -client
- -version
- -showversion
- -cp
- -classpath
[root@localhost software]# java -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)
2. 附加选项
使用 java -X 查看支持的选项
- -Xint:解释执行模式
- -Xcomp:JVM 优先以编译模式运行,不能编译的,以解释模式运行
- -Xmixed:混合模式,JVM 自己来决定是否编译成本地代码
[root@localhost software]# java -Xcomp -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, compiled mode)
3. 高级选项
使用 java -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMoptions -XX:+PrintFlagsInitial
查看支持的选项,或使用 jhsdb clhsdb --pid 进程号 查看
- = 表示默认值,:= 被用户或者JVM 修改后的值
- Boolean 类型:
-XX:[+-]<name>
表示启用或禁用 name 属性 - 非 Boolean 类型:
-XX:<name>=<value>
表示 name 属性的值是 vlaue
-XX:+PrintFlagsInitial:打印初始参数
-XX:+PrintFlagsFinal:打印最终参数
-XX:+UnlockExperimentalVMOptions:解锁实验参数
-XX:+UnlockDiagnosticVMOptions:解锁诊断参数
-XX:+PrintCommandLineFlags:打印命令行参数
[root@localhost software]# java -XX:+PrintFlagsFinal -version
[Global flags]
intx ActiveProcessorCount = -1 {product}
uintx AdaptiveSizeDecrementScaleFactor = 4 {product}
uintx AdaptiveSizeMajorGCDecayTimeScale = 10 {product}
uintx AdaptiveSizePausePolicy = 0 {product}
uintx AdaptiveSizePolicyCollectionCostMargin = 50 {product}
uintx AdaptiveSizePolicyInitializingSteps = 20 {product}
uintx AdaptiveSizePolicyOutputInterval = 0 {product}
uintx AdaptiveSizePolicyWeight = 10 {product}
uintx AdaptiveSizeThroughPutPolicy = 0 {product}
uintx AdaptiveTimeWeight = 25 {product}
Q.E.D.