为了账号安全,请及时绑定邮箱和手机立即绑定

_JAVA_OPTIONS JAVA_TOOL_OPTIONS和JAVA_OPTS之间的区别

_JAVA_OPTIONS JAVA_TOOL_OPTIONS和JAVA_OPTS之间的区别

繁星coding 2019-10-15 14:01:09
我认为最好在_JAVA_OPTIONS和之间进行比较JAVA_TOOL_OPTIONS。我一直在寻找一个,但是什么也找不到,所以希望我们可以在Stackoverflow上找到相关知识。JAVA_OPTS包括在内是为了完整性。它不是JVM的一部分,但是有很多关于它的问题。我知道的:到目前为止,我发现:JAVA_OPTSJDK不使用它,而是其他许多应用程序使用(请参阅此帖子)。JAVA_TOOL_OPTIONS并且_JAVA_OPTIONS是将JVM参数指定为环境变量而不是命令行参数的方法。至少被java和拾取javac它们具有以下优先级:_JAVA_OPTIONS (覆盖其他)命令行参数JAVA_TOOL_OPTIONS (被其他人覆盖)我想知道什么是否有任何官方文件进行比较JAVA_TOOL_OPTIONS和_JAVA_OPTIONSJAVA_TOOL_OPTIONS和之间是否有其他区别_JAVA_OPTIONS(优先顺序除外)。哪些可执行文件可以使用JAVA_TOOL_OPTIONS和_JAVA_OPTIONS(java以及和之外javac)对可以包含在JAVA_TOOL_OPTIONS和上的内容的任何限制_JAVA_OPTIONS官方文件我尚未找到有关的任何文档_JAVA_OPTIONS。的文档JAVA_TOOL_OPTIONS并没有太多说明区别:由于无法始终访问或修改命令行,例如,在嵌入式VM或仅在脚本内部深层启动的VM中,可以提供JAVA_TOOL_OPTIONS变量,以便在这些情况下可以启动代理。...示例脚本这是我用来弄清楚的代码。控制台输出作为注释包括在内:export JAVA_OPTS=foobarexport JAVA_TOOL_OPTIONS= export _JAVA_OPTIONS="-Xmx512m -Xms64m"java -version                          # Picked up JAVA_TOOL_OPTIONS: # Picked up _JAVA_OPTIONS: -Xmx512m -Xms64m# java version "1.7.0_40"OpenJDK Runtime Environment (IcedTea 2.4.1) (suse-3.41.1-x86_64)OpenJDK 64-Bit Server VM (build 24.0-b50, mixed mode)javac -version# Picked up JAVA_TOOL_OPTIONS: # Picked up _JAVA_OPTIONS: -Xmx512m -Xms64m# javac 1.7.0_40export JAVA_TOOL_OPTIONS="-Xmx1 -Xms1"export _JAVA_OPTIONS="-Xmx512m -Xms64m"javac -version# Picked up JAVA_TOOL_OPTIONS: -Xmx1 -Xms1# Picked up _JAVA_OPTIONS: -Xmx512m -Xms64m# javac 1.7.0_40export JAVA_TOOL_OPTIONS="-Xmx512m -Xms64m"export _JAVA_OPTIONS="-Xmx1 -Xms1"javac -version# Picked up JAVA_TOOL_OPTIONS: -Xmx512m -Xms64m# Picked up _JAVA_OPTIONS: -Xmx1 -Xms1# Error occurred during initialization of VM# Too small initial heapexport JAVA_TOOL_OPTIONS="-Xmx1 -Xms1"export _JAVA_OPTIONS=java -Xmx512m -Xms64m -version# Picked up JAVA_TOOL_OPTIONS: -Xmx1 -Xms1# Picked up _JAVA_OPTIONS: # java version "1.7.0_40"# OpenJDK Runtime Environment (IcedTea 2.4.1) (suse-3.41.1-x86_64)# OpenJDK 64-Bit Server VM (build 24.0-b50, mixed mode)
查看完整描述

3 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

还有另外一个区别:_JAVA_OPTIONS是特定于Oracle的。IBM_JAVA_OPTIONS而是使用IBM JVM 。这样做可能是为了能够定义特定于机器的选项而不会发生冲突。JAVA_TOOL_OPTIONS被所有VM识别。


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 2267 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信