首页  >  文章  >  Java  >  _JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之间有什么区别?

_JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之间有什么区别?

Linda Hamilton
Linda Hamilton原创
2024-11-18 20:57:02417浏览

What are the differences between _JAVA_OPTIONS, JAVA_TOOL_OPTIONS, and JAVA_OPTS?

深入研究 _JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之间的差异

在 Java 编程领域,设置环境变量来配置 JVM 参数是一种常见的做法。在这些选项中,_JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 最为突出。让我们深入了解一下它们的区别。

背景:

  • JAVA_OPTS:主要由第三方应用程序使用,此选项不属于的JVM.
  • JAVA_TOOL_OPTIONS_JAVA_OPTIONS: 两者都允许通过环境变量而不是命令行参数指定 JVM 参数。它们被 Java 和 JavaC 等实用程序识别。
  • 优先级: _JAVA_OPTIONS 具有最高优先级,其次是命令行参数,然后是 JAVA_TOOL_OPTIONS。

钥匙差异:

  • 文档: 虽然 JAVA_TOOL_OPTIONS 有一些文档,但 _JAVA_OPTIONS 没有。这表明 _JAVA_OPTIONS 可能不是官方推荐的。
  • 可用性: 即使使用 JVM 库,_JAVA_OPTIONS 和 JAVA_TOOL_OPTIONS 也会被选择。
  • 限制: JVM 参数类型的确切限制这些变量中包含的内容可能会根据具体的 JVM 实现而有所不同。

实现详细信息:

如果您对实现细节感到好奇,请考虑检查Oracle HotSpot VM 的源代码(例如 OpenJDK7)。值得注意的是,这些未记录的变量可能不受所有虚拟机或未来版本的支持。

最佳实践:

  • 谨慎使用 _JAVA_OPTIONS,因为它不太好- 已记录并可能会被弃用
  • 为了清晰和一致性,命令行参数的优先级要高于环境变量。

附加说明:

  • 优先级_JAVA_选项>命令行>设置 JVM 参数时,请务必记住 JAVA_TOOL_OPTIONS。
  • 设置这些环境变量在无法访问命令行参数的情况下非常有用,例如在脚本中启动 VM 时。

以上是_JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之间有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn