一、选项参数:
1.标准选项参数:
(1)查看支持的标准选项参数:
java -help
(2)标准选项参数列表:
-cp <目录和 zip/jar 文件的类搜索路径>
-classpath <目录和 zip/jar 文件的类搜索路径>
--class-path <目录和 zip/jar 文件的类搜索路径>
使用 ; 分隔的, 用于搜索类文件的目录, JAR 档案
和 ZIP 档案列表。
-p <模块路径>
--module-path <模块路径>...
用 ; 分隔的目录列表, 每个目录
都是一个包含模块的目录。
--upgrade-module-path <模块路径>...
用 ; 分隔的目录列表, 每个目录
都是一个包含模块的目录, 这些模块
用于替换运行时映像中的可升级模块
--add-modules <模块名称>[,<模块名称>...]
除了初始模块之外要解析的根模块。
<模块名称> 还可以为 ALL-DEFAULT, ALL-SYSTEM,
ALL-MODULE-PATH.
--list-modules
列出可观察模块并退出
-d <module name>
--describe-module <模块名称>
描述模块并退出
--dry-run 创建 VM 并加载主类, 但不执行 main 方法。
此 --dry-run 选项对于验证诸如
模块系统配置这样的命令行选项可能非常有用。
--validate-modules
验证所有模块并退出
--validate-modules 选项对于查找
模块路径中模块的冲突及其他错误可能非常有用。
-D<名称>=<值>
设置系统属性
-verbose:[class|module|gc|jni]
启用详细输出
-version 将产品版本输出到错误流并退出
--version 将产品版本输出到输出流并退出
-showversion 将产品版本输出到错误流并继续
--show-version
将产品版本输出到输出流并继续
--show-module-resolution
在启动过程中显示模块解析输出
-? -h -help
将此帮助消息输出到错误流
--help 将此帮助消息输出到输出流
-X 将额外选项的帮助输出到错误流
--help-extra 将额外选项的帮助输出到输出流
-ea[:<程序包名称>...|:<类名>]
-enableassertions[:<程序包名称>...|:<类名>]
按指定的粒度启用断言
-da[:<程序包名称>...|:<类名>]
-disableassertions[:<程序包名称>...|:<类名>]
按指定的粒度禁用断言
-esa | -enablesystemassertions
启用系统断言
-dsa | -disablesystemassertions
禁用系统断言
-agentlib:<库名>[=<选项>]
加载本机代理库 <库名>, 例如 -agentlib:jdwp
另请参阅 -agentlib:jdwp=help
-agentpath:<路径名>[=<选项>]
按完整路径名加载本机代理库
-javaagent:<jar 路径>[=<选项>]
加载 Java 编程语言代理, 请参阅 java.lang.instrument
-splash:<图像路径>
使用指定的图像显示启动屏幕
自动支持和使用 HiDPI 缩放图像
(如果可用)。应始终将未缩放的图像文件名 (例如, image.ext)
作为参数传递给 -splash 选项。
将自动选取提供的最合适的缩放
图像。
有关详细信息, 请参阅 SplashScreen API 文档
@argument 文件 一个或多个包含选项的参数文件
-disable-@files 阻止进一步扩展参数文件
--enable-preview 允许类依赖于此发行版的预览功能 要为长选项指定参数, 可以使用 --<名称>=<值> 或 --<名称> <值>。
2.非标准选项参数:
(1)查看支持的非标准选项参数:
java -X
(2)非标准选项参数列表:
-Xbatch 禁用后台编译
-Xbootclasspath/a:<以 ; 分隔的目录和 zip/jar 文件>附加在引导类路径末尾
-Xcheck:jni 对 JNI 函数执行其他检查
-Xcomp 在首次调用时强制编译方法
-Xdebug 为实现向后兼容而提供
-Xdiag 显示附加诊断消息
-Xfuture 启用最严格的检查,预期将来的默认值
-Xint 仅解释模式执行
-Xinternalversion 显示比 -version 选项更详细的 JVM版本信息
-Xloggc:<文件> 将 GC 状态记录在文件中(带时间戳)
-Xmixed 混合模式执行(默认值)
-Xnoclassgc 禁用类垃圾收集
-Xrs 减少 Java/VM 对操作系统信号的使用(请参见文档)
-Xshare:auto 在可能的情况下使用共享类数据(默认值)
-Xshare:off 不尝试使用共享类数据
-Xshare:on 要求使用共享类数据,否则将失败。
-XshowSettings 显示所有设置并继续
-XshowSettings:all显示所有设置并继续
-XshowSettings:locale显示所有与区域设置相关的设置并继续
-XshowSettings:properties显示所有属性设置并继续
-XshowSettings:vm显示所有与 vm 相关的设置并继续
-XshowSettings:system(仅 Linux)显示主机系统或容器配置并继续
-Xverify 设置字节码验证器的模式
--add-reads <模块>=<目标模块>(,<目标模块>)*
更新 <模块> 以读取 <目标模块>,而无论
模块声明如何。
<目标模块> 可以是 ALL-UNNAMED 以读取所有未命名
模块。
--add-exports <模块>/<程序包>=<目标模块>(,<目标模块>)*
更新 <模块> 以将 <程序包> 导出到 <目标模块>,
而无论模块声明如何。
<目标模块> 可以是 ALL-UNNAMED 以导出到所有
未命名模块。
--add-opens <模块>/<程序包>=<目标模块>(,<目标模块>)*
更新 <模块> 以在 <目标模块> 中打开
<程序包>,而无论模块声明如何。
--illegal-access=<值>
允许或拒绝通过未命名模块中的代码对命名模块中的
类型成员进行访问。
<值> 为 "deny"、"permit"、"warn" 或 "debug" 之一
此选项将在未来发行版中删除。
--limit-modules <模块名>[,<模块名>...]
限制可观察模块的领域
--patch-module <模块>=<文件>(;<文件>)*
使用 JAR 文件或目录中的类和资源
覆盖或增强模块。
--disable-@files 禁止进一步扩展参数文件
--source <版本>
设置源文件模式中源的版本。
3.常用高级选项参数:
(1)查看支持的高级选项参数:
方式1:
java -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsInitial
方式2:
jhsdb clhsdb --pid 进程ID
flags
(2)常用高级选项参数列表(boolean类型使用-XX:+为true,-XX:-为false)(其他类型-XX:选项参数=值):
选项参数 默认值 描述
-XX:ActiveProcessorCount = -1 执行GC的CPU核心数量
-XX:+BackgroundCompilation = true 开启后台编译
-XX:CompileCommand =