在 Java 虚拟机 (JVM) 配置领域,三个环境变量有不同的用途:_JAVA_OPTIONS、JAVA_TOOL_OPTIONS、和 JAVA_OPTS。虽然 JAVA_OPTS 位于 JVM 外部,但另外两个提供了用于指定 JVM 参数的命令行参数的替代方案。
_JAVA_OPTIONS 和 JAVA_TOOL_OPTIONS 都允许通过以下方式设置 JVM 参数环境变量。然而,它们的优先级和范围有所不同。 _JAVA_OPTIONS 拥有最高优先级,覆盖 JAVA_TOOL_OPTIONS 或命令行参数中指定的任何设置。相反,JAVA_TOOL_OPTIONS 的优先级最低,被 _JAVA_OPTIONS 和命令行参数覆盖。
JAVA_TOOL_OPTIONS 和 _JAVA_OPTIONS 被 Java 生态系统中的多个可执行文件使用。除了 Java 和 javac 之外,它们还被 Javadoc、jar 和 Java Native Interface (JNI) 使用。
虽然对可以使用的参数没有明确的限制,包含在 JAVA_TOOL_OPTIONS 和 _JAVA_OPTIONS 中,不正确或冲突的设置可能会导致意外行为。建议优先使用命令行参数,为修改命令行不切实际或不可能的场景保留这些环境变量。
需要注意的是 _JAVA_OPTIONS 是未记录,不建议使用。无法保证未来的 JVM 实现将支持此变量。另外,请记住优先顺序是 _JAVA_OPTIONS >命令行参数> JAVA_TOOL_OPTIONS。
以上是_JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之间有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!