Может ли кто-нибудь объяснить, что делает Java, когда _JAVA_OPTIONS
определена переменная среды и когда приложение запущено на машине Windows?
Информация о _JAVA_OPTIONS
Ответ 1
Вы можете использовать _JAVA_OPTIONS
для передачи параметров любому процессу JVM, запущенному в вашей системе.
Например,
set _JAVA_OPTIONS=-Dsun.java2d.noddraw=true
Когда JVM запускается, он анализирует значение _JAVA_OPTIONS
как если бы параметры были в командной строке Java. Вы можете увидеть переданные параметры через JVisualVM.
Для получения дополнительной информации прочитайте сообщение в блоге: Что я обнаружил при попытке передать параметры JVM по умолчанию
Ответ 2
И согласно https://bugs.openjdk.java.net/browse/JDK-4971166 недокументированный Hotspot-специфический _JAVA_OPTIONS
был заменен JAVA_TOOL_OPTIONS
который включен в стандартную спецификацию JVMTI, лучше обрабатывает цитируемые пробелы и всегда должен быть предпочтительным.
Ответ 3
Само название само по себе достаточно понятно. Существует ряд параметров, которые можно настроить в переменной среды JAVA_OPTIONS. Вы можете проверить их в этой ссылке
Общие параметры:
-Xms: sets the minimum heap size (heap: how much memory your application can take).
-Xmx: sets the maximum heap size.
сложно записать их все. Вы должны прочитать их документ (упомянутый выше), чтобы получить полную картину. Однако вам не нужны все они. Просто используйте параметры, которые необходимо переопределить. Другие будут в порядке со значениями по умолчанию.