'_JAVA_OPTIONS'와 'JAVA_OPTIONS'를 비교해보면 좋을 것 같았다.TOOL_OPTIONS'. 제가 좀 찾아봤는데, 아무것도 찾을 수가 없어서 Stackoverflow에 대한 지식을 이곳에서도 찾을 수 있으면 좋겠습니다.
완성도를 위해 JAVA_OPS가 포함되어 있다. 그것은 JVM의 일부가 아니지만, 야생에서 그것에 대한 많은 의문점들이 있다.
지금까지 알아낸 것은 다음과 같다.
'_JAVAOPTIONS'에 대한 문서를 찾을 수 없습니다. ['JAVA'에 대한 설명서]TOOL_OPTIONs']2는 다음과 같은 차이를 잘 드러내지 않는다.
명령줄에 항상 액세스하거나 수정할 수 없으므로(예: 내장된 VM 또는 스크립트 내에서 깊숙이 실행되는 VM), JAVA_이러한 경우 에이전트를 실행할 수 있도록 TOOL_OPTIONS 변수가 제공됩니다.
...
이게 내가 이걸 알아내기 위해 사용했던 암호야 콘솔 출력은 주석으로 포함됩니다.
export JAVA_OPTS=foobar
export 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_40
export 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_40
export 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 heap
export 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)
export JAVA_TOOL_OPTIONS=
export _JAVA_OPTIONS="-Xmx1 -Xms1"
java -Xmx512m -Xms64m -version
# Picked up JAVA_TOOL_OPTIONS:
# Picked up _JAVA_OPTIONS: -Xmx1 -Xms1
# Error occurred during initialization of VM
# Too small initial heap
이러한 옵션은 호조를 제외한 거의 있습니다 꼭 이 경우에도 라리브러리 통해 시작 JVM in-process 호출.
사실은 이 변수를 사용할 수 있는 '' _JAVA_OPTIONS 제안됩니다 문서화되어 있지 않는 것이 좋습니다 실제로 볼 수 있으며, 이 사람들은 그들의 I& # 39, ve 그러하매 설정하여 해당 /.bashrc '~'. 그러나 이 문제를 가져올 수 있는 Oracle VM 하스팟 출처를 확인할 수 있습니다 (예: in OpenJDK7).
Vm 을 가지고 있거나 다른 것을 기억해야 할 수도 있습니다 보장은 계속해서 com/go/4e6b330a_kr 문서화되지 않은 대한 지원을 갖추고 있다.
업데이트 04-08-2015: 5 분 저장할 수 있는 '으뜸' _JAVA_OPTIONS 명령줄이 인수만, 검색 엔진, 오는 사람들이 트럼프 'JAVA_TOOL_OPTIONS 선반가공'.
한 번 더 차이가 있습니다. '' 은 Oracle _JAVA_OPTIONS 특정. IBM JVM IBM_JAVA_OPTIONS '대신' 를 사용하고 있습니다. 이것은 아마도 그렇게 충돌 없이 컴퓨터 관련 옵션뿐 정의할 수 있습니다. '모든' 는 JAVA_TOOL_OPTIONS 인정받을 수 있습니다.
별도의 취급료 JVM 에서 JAVA_OPTS '전혀' 한다.
이 ' (https://bugs.openjdk.java.net/browse/JDK-4971166) 에 따르면' 에 포함되어 있다) 의 공백을 효과적으로 처리할 java_tool_options 표준 제프마티 사양명세에 말을 한다고 항상 _java_options 특정 하스팟 문서화되지 않은 대신 '기본'.
또한 사용하는 것이 두려워 이러한 인쇄할 수 있는 추가적인 메시지 stdout can& # 39, t be 억제됨.