首页  >  文章  >  Java  >  _JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS:有什么区别以及何时应该使用它们?

_JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS:有什么区别以及何时应该使用它们?

Linda Hamilton
Linda Hamilton原创
2024-11-17 03:42:03199浏览

_JAVA_OPTIONS, JAVA_TOOL_OPTIONS, and JAVA_OPTS: What's the Difference and When Should You Use Them?

探索 _JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之间的差异

正如您敏锐地观察到的,_JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 都是指定 JVM 参数的机制。让我们深入研究一下它们的异同。

官方文档

_JAVA_OPTIONS 缺乏官方文档,而 JAVA_TOOL_OPTIONS 被简单提及作为在命令行访问受限的场景中提供 VM 参数的一种方式。

优先级

这些变量的优先级如下:

  1. _JAVA_OPTIONS(覆盖其他)
  2. 命令行参数
  3. JAVA_TOOL_OPTIONS(被其他人覆盖)

功能

_JAVA_OPTIONS 和 JAVA_TOOL_OPTIONS 都允许您通过环境变量传递 JVM 参数。然而,_JAVA_OPTIONS 胜过命令行参数,而命令行参数又胜过 JAVA_TOOL_OPTIONS。

适用性

已知 _JAVA_OPTIONS 和 JAVA_TOOL_OPTIONS 都会被 java 和 javac 拾取。通过库调用进行的进程内 JVM 调用也遵循这些变量。

限制

对于 _JAVA_OPTIONS 或 JAVA_TOOL_OPTIONS 中可以包含的内容没有已知的限制。然而,在 ~/.bashrc 中设置它们被认为是滥用其预期目的。

JVM 中的支持

_JAVA_OPTIONS 不是 JDK 的一部分,但其他应用程序可能会利用它。 JAVA_TOOL_OPTIONS 和 JAVA_OPTS 是 JVM 的一部分。需要注意的是,在非 Oracle HotSpot JVM 中可能无法保证对 _JAVA_OPTIONS 的支持。

建议

虽然 _JAVA_OPTIONS 由于其优先级而看起来很有吸引力,但不建议使用它,因为它缺乏文档。 JAVA_TOOL_OPTIONS 有特定用途,仅当命令行访问不可行时才应使用。 JAVA_OPTS 虽然与 JVM 没有直接关系,但它是脚本和批处理文件中 JVM 参数的常见占位符。

以上是_JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS:有什么区别以及何时应该使用它们?的详细内容。更多信息请关注PHP中文网其他相关文章!

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