参数类型
Java启动参数共分为三类;
- 标准参数(-)
所有的JVM实现都必须实现这些参数的功能,而且向后兼容
- 非标准参数(-X)
默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;
- 非稳定参数(-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一起使用
使用方式
参数使用的方式有以下三种:
- 开启option参数
-XX:+<option>
- 关闭optionc参数
-XX:-<option>
- 将option参数的值设置为value
-XX:<option>=<value>
选项介绍