Java虚拟机有很多参数。一些参数以-
开头,例如-server
,-client
。一些参数以-X
开头,例如-Xms
,-Xmx
。一些参数以-XX
开头,例如-XX:PermSize
,-XX:UseParallelGC
。
由于这些参数没有重复,为什么要以这么多不同的前缀开头呢?为什么不只使用-
呢?我猜测这是由于某些标准。-XX
参数是扩展设置,并不是所有Java虚拟机都支持。是这样吗?
Java虚拟机有很多参数。一些参数以-
开头,例如-server
,-client
。一些参数以-X
开头,例如-Xms
,-Xmx
。一些参数以-XX
开头,例如-XX:PermSize
,-XX:UseParallelGC
。
由于这些参数没有重复,为什么要以这么多不同的前缀开头呢?为什么不只使用-
呢?我猜测这是由于某些标准。-XX
参数是扩展设置,并不是所有Java虚拟机都支持。是这样吗?
标准选项:以 - 开头的选项是标准选项,预计所有JVM实现都应该接受这些选项,并且在发布之间保持稳定(尽管它们可能会被弃用)。
非标准选项:以 -X 开头的选项是非标准选项(不能保证所有JVM实现都支持),并且在Java SDK的后续版本中可能会随时更改而不受通知。
开发人员选项:以 -XX 开头的选项是开发人员选项,通常需要特定的系统要求才能正确运行,并且可能需要访问系统配置参数的特权访问;不建议普通用户使用。这些选项也可能会在不受通知的情况下更改。
是的,它是支持级别。未来版本将支持普通(“-”)选项,而不支持X选项。此外,XX选项“不建议普通使用”。
java -help
:
-X Displays information about non-standard options and exit
-XX
的帮助在哪里? - Michael Piefel