Информация о _JAVA_OPTIONS

Может ли кто-нибудь объяснить, что делает Java, когда _JAVA_OPTIONS определена переменная среды и когда приложение запущено на машине Windows?

Ответ 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.

сложно записать их все. Вы должны прочитать их документ (упомянутый выше), чтобы получить полную картину. Однако вам не нужны все они. Просто используйте параметры, которые необходимо переопределить. Другие будут в порядке со значениями по умолчанию.