理解 _JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之间的区别
开发人员经常会遇到关于 _JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_TOOL_OPTIONS 之间的目的和差异的困惑,和 JAVA_OPTS。本文将深入研究每个选项的细节,并探讨它们在指定 JVM 参数时的用法。
JAVA_OPTS:传统选项
与 JAVA_TOOL_OPTIONS 和 _JAVA_OPTIONS 不同,JAVA_OPTS 不是固有的到 Java 虚拟机 (JVM)。然而,许多应用程序都识别 JAVA_OPTS,这使得它在讨论中很流行。它的实用性在于设置 JVM 参数。
JAVA_TOOL_OPTIONS 和 _JAVA_OPTIONS:基于环境变量的 JVM 参数
JAVA_TOOL_OPTIONS 和 _JAVA_OPTIONS 提供了另一种指定 JVM 参数的方法。这些环境变量无需命令行参数即可设置参数。
主要区别
优先级: _JAVA_OPTIONS 优先于 JAVA_TOOL_OPTIONS 和命令-line 参数,如您的例如。
支持的可执行文件: JAVA_TOOL_OPTIONS 和 _JAVA_OPTIONS 都可以被 java 和 javac 可执行文件识别。其他可执行文件也可能支持这些变量,包括 jdb 调试器。
一般用法: JAVA_TOOL_OPTIONS 用于设置与特定工具相关的 JVM 参数。例如,如果需要为 javac 配置编译器标志,则可以使用 JAVA_TOOL_OPTIONS。
相比之下,_JAVA_OPTIONS 更普遍地用于设置适用于 Java 运行时环境的 JVM 参数。
官方文档和非文档变量
Oracle 的 JVM 文档包含有关 JAVA_TOOL_OPTIONS 的信息,但不包含有关 _JAVA_OPTIONS 的信息。这一遗漏表明 _JAVA_OPTIONS 可能是一个未记录的变量。此外,外部库还可以利用这些环境变量来实现其特定目的。
结论
了解 _JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之间的差异对于有效配置 JVM 至关重要参数。尽可能参考官方文档。虽然 JAVA_TOOL_OPTIONS 和 _JAVA_OPTIONS 是有价值的工具,但它们可能不受所有 Java 实现的普遍支持。
以上是_JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之间有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!