详细描述请参考:https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html
Java标准选项(以-、或者–开头)
Java标准选项被所有的Java虚拟机(JVM)实现所支持。
这些选项用于普通的动作,例如检查JRE的版本号、设置类路径(class path)、打开详细输出等等。
Java标准选项有很多。
详细的Java标准选项可以查阅:https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html#standard-options-for-java
或者在cmd窗口执行java查看帮助信息:
Java额外选项(以-X开头)
https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html#extra-options-for-java
Java额外选项是通用目的选项,是Java HotSpot虚拟机所特有的。
不能保证所有的Java虚拟机实现都支持。
这些选项容易改变。
Java额外选项以-X开头。
例如:-Xmn256m、-Xint等。
Java高级选项(以-XX开头)
Java高级选项不推荐随便使用。
这些选项用是开发者选项,用来调整Java HotSpot虚拟机某些方面的操作,而且通常有特别的系统需求,可能还需要访问系统配置参数的访问权限。
这些选项不能保证所有的Java虚拟机实现都支持。
这些选项容易改变。
以-XX开头。
对于布尔值的选项,是用来打开或者关闭某个特性的。这些的选项后面不需要跟参数。用加号打开特性(-XX:+OptionName)、用减号关闭特性(-XX:-OptionName)
Java高级选项分了几类。
Java高级运行时选项
https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html#advanced-runtime-options-for-java
这些选项控制Java HotSpot虚拟机运行时的行为。
例如:-XX:+ExtensiveErrorReports
Java高级JIT(just-in-time)编译器选项
https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html#advanced-jit-compiler-options-for-java
这些选项控制Java HotSpot虚拟机执行的动态JIT(just-in-time)编译。
例如:-XX:+BackgroundCompilation
java高级可服务性选项
https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html#advanced-serviceability-options-for-java
这些选项提供收集系统信息、和进行范围广泛的调试的能力。
例如:-XX:+DisableAttachMechanism
Java高级垃圾回收选项
https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html#advanced-garbage-collection-options-for-java
这些选项控制Java HotSpot虚拟机如何进行垃圾回收(GC)。
例如:-XX:+AggressiveHeap
设置系统属性(用-Dproperty=value的形式)
Dproperty=value的形式设置系统属性,例如-Dfoo=“foo bar”。