参数类型

Java启动参数共分为三类;

  1. 标准参数(-)

所有的JVM实现都必须实现这些参数的功能,而且向后兼容

  1. 非标准参数(-X)

默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;

  1. 非稳定参数(-XX)

此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;

使用介绍

标准参数

可以通过:java -help 查看

用法

  • 执行类
java [-options] class [args...]
  • 执行jar文件
java [-options] -jar jarfile [args...]

选项介绍

选项

使用介绍

-d32

使用 32 位数据模型 (如果可用)

-d64

使用 64 位数据模型 (如果可用)

-server

选择 “server” VM,默认 VM 是 server

-cp

<目录和 zip/jar 文件的类搜索路径>

-classpath

<目录和 zip/jar 文件的类搜索路径>用 ; 分隔的目录, JAR 档案和 ZIP 档案列表, 用于搜索类文件。

-D<名称>=<值>

设置系统属性

-verbose:[class

gc

-version

输出产品版本并退出

-showversion

输出产品版本并继续

-? -help

输出此帮助消息

-X

输出非标准选项的帮助

更多参数通过java -help查看

非标准参数

可以通过:java -X 查看

用法

-X[option]

选项介绍

选项

使用介绍

-Xmixed

混合模式执行 (默认)

-Xint

仅解释模式执行

-Xbootclasspath:<用 ; 分隔的目录和 zip/jar 文件>

设置搜索路径以引导类和资源

-Xbootclasspath/a:<用 ; 分隔的目录和 zip/jar 文件>

附加在引导类路径末尾

-Xbootclasspath/p:<用 ; 分隔的目录和 zip/jar 文件>

置于引导类路径之前

-Xdiag

显示附加诊断消息

-Xnoclassgc

禁用类垃圾收集

-Xincgc

启用增量垃圾收集

-Xloggc:

将 GC 状态记录在文件中 (带时间戳)

-Xbatch

禁用后台编译

-Xms

设置初始 Java 堆大小

-Xmx

设置最大 Java 堆大小

-Xss

设置 Java 线程堆栈大小

-Xmn

设置 Java 堆中新生代大小

-Xprof

输出 cpu 配置文件数据

-Xfuture

启用最严格的检查, 预期将来的默认值

-Xrs

减少 Java/VM 对操作系统信号的使用 (请参阅文档)

-Xcheck:jni

对 JNI 函数执行其他检查

-Xshare:off

不尝试使用共享类数据

-Xshare:auto

在可能的情况下使用共享类数据 (默认)

-Xshare:on

要求使用共享类数据, 否则将失败。

-XshowSettings

显示所有设置并继续

-XshowSettings:all

显示所有设置并继续

-XshowSettings:vm

显示所有与 vm 相关的设置并继续

-XshowSettings:properties

显示所有属性设置并继续

-XshowSettings:locale

显示所有与区域设置相关的设置并继续

-X 选项是非标准选项, 如有更改, 恕不另行通知。

非稳定参数 / HotSpot虚拟机参数

可以使用-XX:+PrintFlagsFinal参数输出所有参数的名称以及默认值。

默认不包括Diagonstic和Experimental的参数,如果需要,可以配合-XX:+UnlockDiagnosticVMOptions/-XX:UnlockExperimentalVMOptions一起使用

使用方式

参数使用的方式有以下三种:

  1. 开启option参数
-XX:+<option>
  1. 关闭optionc参数
-XX:-<option>
  1. 将option参数的值设置为value
-XX:<option>=<value>

选项介绍