JAVA_TOOL_OPTIONS和_JAVA_OPTIONS

Posted xstack

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA_TOOL_OPTIONS和_JAVA_OPTIONS相关的知识,希望对你有一定的参考价值。

Linux 使用export设置环境变量时,如果变量值有空格需要用引号

结果(不完善):
JAVA_OPTS是某些软件如tomcat的启动脚本设置的  

_JAVA_OPTIONS 和 JAVA_TOOL_OPTIONS ,如果只有一个存在,则java/javac会使用有值的设置;
如果同时存在,会先检测到JAVA_TOOL_OPTIONS,java命令使用所有变量设置的值;
_JAVA_OPTIONS中同名的值会覆盖JAVA_TOOL_OPTIONS中设置的值(如JVM堆大小),使用jvisualvm查看运行的程序可以发现。
但不确定上述两个变量哪个对java或javac是特定的。

测试用例:
```
[root@centos6 ~]# export JAVA_OPTS=foobar
[root@centos6 ~]# export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
[root@centos6 ~]# export _JAVA_OPTIONS="-Xmx512m -Xms64m"

[root@centos6 ~]# java -version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
Picked up _JAVA_OPTIONS: -Xmx512m -Xms64m
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)


[root@centos6 ~]# javac -version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
Picked up _JAVA_OPTIONS: -Xmx512m -Xms64m
javac 1.8.0_91
```
--------
```
[root@centos6 ~]# export JAVA_OPTS=foobar
[root@centos6 ~]# export JAVA_TOOL_OPTIONS="-Xmx512m -Xms64m"
[root@centos6 ~]# export _JAVA_OPTIONS=-Dfile.encoding=UTF-8

[root@centos6 ~]# java -version
Picked up JAVA_TOOL_OPTIONS: -Xmx512m -Xms64m
Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)


[root@centos6 ~]# javac -version
Picked up JAVA_TOOL_OPTIONS: -Xmx512m -Xms64m
Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8
javac 1.8.0_91
```
--------
```
[root@centos6 ~]# export JAVA_TOOL_OPTIONS="-Xmx256m -Xms64m"
[root@centos6 ~]# export _JAVA_OPTIONS="-Xmx512m -Xms64m"

[root@centos6 ~]# java -version


[root@centos6 ~]# javac -version

```
--------
```
[root@centos6 ~]# export JAVA_TOOL_OPTIONS="-Xmx512m -Xms64m"
[root@centos6 ~]# export _JAVA_OPTIONS="-Xmx256 -Xms64m"

[root@centos6 ~]# java -version


[root@centos6 ~]# javac -version

```
--------
```
[root@centos6 ~]# export JAVA_TOOL_OPTIONS="-Xmx256 -Xms64m"
[root@centos6 ~]# export _JAVA_OPTIONS=

[root@centos6 ~]# java -version


[root@centos6 ~]# javac -version

```
--------
```
[root@centos6 ~]# export JAVA_TOOL_OPTIONS=
[root@centos6 ~]# export _JAVA_OPTIONS="-Xmx256 -Xms64m"

[root@centos6 ~]# java -version


[root@centos6 ~]# javac -version

```

以上是关于JAVA_TOOL_OPTIONS和_JAVA_OPTIONS的主要内容,如果未能解决你的问题,请参考以下文章

_JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之间的区别

tomcat8启动慢原因及解决办法

如何设置Java JDK的默认编码为UTF-8

Jenkins控制台中文输出乱码解决方法

更改JDK默认编码,解决DBeaver乱码问题

Maven打包后的文件存在中文乱码