JVM中,-、-X参数和-XX参数有什么区别?

22

Java虚拟机有很多参数。一些参数以-开头,例如-server-client。一些参数以-X开头,例如-Xms-Xmx。一些参数以-XX开头,例如-XX:PermSize-XX:UseParallelGC

由于这些参数没有重复,为什么要以这么多不同的前缀开头呢?为什么不只使用-呢?我猜测这是由于某些标准。-XX参数是扩展设置,并不是所有Java虚拟机都支持。是这样吗?

4个回答

13
以下是三种主要的命令行参数选项类别:
  • 标准选项:以 - 开头的选项是标准选项,预计所有JVM实现都应该接受这些选项,并且在发布之间保持稳定(尽管它们可能会被弃用)。

  • 非标准选项:以 -X 开头的选项是非标准选项(不能保证所有JVM实现都支持),并且在Java SDK的后续版本中可能会随时更改而不受通知。

  • 开发人员选项:以 -XX 开头的选项是开发人员选项,通常需要特定的系统要求才能正确运行,并且可能需要访问系统配置参数的特权访问;不建议普通用户使用。这些选项也可能会在不受通知的情况下更改。

来源


7

2
  • 以 -X 开头的选项是非标准的(不保证在所有 VM 实现中都受支持),并且在 JDK 的后续版本中可能会在未经通知的情况下更改。
  • 使用 -XX 指定的选项是不稳定的,并且可能会在未经通知的情况下更改。

Java 参考文档


1

java -help:

-X     Displays information about non-standard options and exit

1
-XX的帮助在哪里? - Michael Piefel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接