深入研究 _JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之間的差異
在 Java 程式設計領域,設定環境變數來配置 JVM 參數是一種常見的做法。在這些選項中,_JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 最為突出。讓我們深入了解它們的差異。
背景:
-
JAVA_OPTS:主要由第三方應用程式使用,此選項不屬於
-
JAVA_TOOL_OPTIONS 和_JAVA_OPTIONS:
兩者都允許透過環境變數而不是命令列參數指定 JVM 參數。它們被 Java 和 JavaC 等實用程式識別。 -
優先權:
_JAVA_OPTIONS 具有最高優先權,其次是命令列參數,然後是 JAVA_TOOL_OPTIONS。
主要區別:
-
文檔:
雖然 JAVA_TOOL_OPTIONS 有一些文檔,但 _JAVA_TIONS _JAVA_OPTIONS _JAV。這表明 _JAVA_OPTIONS 可能不是官方推薦的。 -
可用性:
即使使用 JVM 函式庫,_JAVA_OPTIONS 和 JAVA_TOOL_OPTIONS 也會被選取。 -
限制:
這些變數中可包含的 JVM 參數類型的確切限制可能會有所不同,具體取決於特定的 JVM 實作。
實作詳細資訊:
如果如果您對實作細節感到好奇,請考慮檢查 Oracle HotSpot VM 的原始程式碼(例如 OpenJDK7)。值得注意的是,這些未記錄的變數可能不受所有虛擬機器或未來版本的支援。
最佳實踐:
- 謹慎使用 _JAVA_OPTIONS,因為它不太好- 已記錄,將來可能會被棄用。
- 為了清晰和一致性,優先考慮命令列參數而不是環境變數。
附加說明:
- 優先權_JAVA_OPTIONS >命令列>設定 JVM 參數時,請務必記住 JAVA_TOOL_OPTIONS。
- 設定這些環境變數在無法存取命令列參數的情況下非常有用,例如在腳本中啟動 VM 時。
以上是_JAVA_OPTIONS、JAVA_TOOL_OPTIONS 和 JAVA_OPTS 之間有什麼區別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!