_JAVA_OPTIONS Umgebungsvariable in Java

Mohd Mohtashim Nawaz 12 Oktober 2023
  1. Arten von Java-Optionen
  2. _JAVA_OPTIONS Umgebungsvariable in Java
  3. JAVA_TOOL_OPTIONS Umgebungsvariable in Java
  4. Unterschied zwischen JAVA_TOOL_OPTIONS und JDK_JAVA_OPTIONS in Java
  5. Fazit
_JAVA_OPTIONS Umgebungsvariable in Java

_JAVA_OPTIONS ist eine Umgebungsvariable, mit der Sie die Java-Optionen an einen JVM-Prozess übergeben können. Die übergebenen Java-Optionen werden von der Java Virtual Machine ähnlich behandelt wie die Kommandozeilenargumente.

In diesem Artikel werden wir verschiedene Arten von Java-Optionen verstehen. Wir werden auch die _JAVA_OPTIONS und die JAVA_TOOL_OPTIONS sehen, den Unterschied zwischen den Umgebungsvariablen JDK_JAVA_OPTIONS und JAVA_TOOL_OPTIONS.

Arten von Java-Optionen

Java definiert drei verschiedene Arten von Optionen. Java unterscheidet zwischen Optionen basierend auf ihrer Unterstützung in verschiedenen Java-Versionen und ihrer Verwendung.

Lassen Sie uns die Kategorien jeder dieser Optionen verstehen.

  1. Standardoptionen - Java garantiert, dass alle Java-Versionen Standardoptionen unterstützen. Java ermöglicht die Verwendung dieser Optionen für allgemeine Aktionen wie:
    1. Setzen der Variable classpath.
    2. Überprüfen der Version von Java Runtime Environment (JRE).
    3. Umschalten der ausführlichen Ausgabe usw.
  2. Zusätzliche Optionen - Java garantiert nicht die Unterstützung dieser Arten von Optionen in allen Versionen. Diese Optionen beziehen sich speziell auf die JavaHotSpot Virtual Machine und können sich ändern.
    Java verwendet diese Optionen, um bestimmte Variablen festzulegen.
  3. Erweiterte Optionen – Java bietet erweiterte Optionen für Entwickler. Entwickler können diese Optionen verwenden, um JVM, JRE, JIT und Garbage Collector zu optimieren.

Es gibt vier verschiedene Arten von erweiterten Optionen. Diese werden wie folgt angegeben.

  1. Laufzeitoptionen – Entwickler können diese Optionen verwenden, um die Laufzeit von JVM zu optimieren.
  2. JIT-Compiler-Optionen – Entwickler können diese Optionen verwenden, um den Just-In-Time-(JIT)-Java-Compiler zu steuern.
  3. Wartungsoptionen – Java definiert diese Optionen zum Debuggen und Sammeln von Systeminformationen.
  4. Garbage-Collection-Optionen – Entwickler können den Garbage-Collection-Mechanismus von Java mit diesen Optionen steuern.

_JAVA_OPTIONS Umgebungsvariable in Java

Java definiert mehrere Umgebungsvariablen, um die Java-Optionen während der Ausführung eines Prozesses an die JVM zu übergeben. Die _JAVA_OPTIONS ist eine solche Umgebungsvariable.

Java behandelt die Argumente, die Sie mit dieser Umgebungsvariablen übergeben, ähnlich wie die Befehlszeilenargumente.

Gemäß der Dokumentation von Java by Oracle stellt Java diese Optionen bereit, damit Befehlszeilenargumente an Programme in solchen Ausführungsumgebungen übergeben werden können, in denen keine direkte Befehlszeile verfügbar ist.

Sie können mehrere Argumente übergeben, wobei jedes Argument durch Leerzeichen getrennt ist. Wenn Ihr Argument Leerzeichen enthält, sollten Sie es in Anführungszeichen setzen.

Sie sollten bei der Verwendung von _JAVA_OPTIONS vorsichtig sein, da die Ausführung des Programms fehlschlägt, wenn die Argumente ungültig sind.

Sehen wir uns ein Beispiel für die Übergabe der Option der Variablen an, um die Protokollverfolgung zu aktivieren.

export _JAVA_OPTIONS = '-Dsun.java2d.trace=log'

JAVA_TOOL_OPTIONS Umgebungsvariable in Java

Die JAVA_TOOL_OPTIONS ist der Nachfolger der _JAVA_OPTIONS. Die Umgebungsvariable _JAVA_OPTIONS ist in der JVM-Spezifikation nicht standardisiert. Daher haben verschiedene Anbieter ihre Namen für diese Variable.

Die Variable JAVA_TOOL_OPTIONS ist jedoch in der JVM-Spezifikation standardisiert. Sie sollten es immer den _JAVA_OPTIONS vorziehen.

Dies liegt daran, dass es die Probleme mit Leerzeichen und Zitaten besser handhabt.

Unterschied zwischen JAVA_TOOL_OPTIONS und JDK_JAVA_OPTIONS in Java

Die JAVA_TOOL_OPTIONS und die JDK_JAVA_OPTIONS sind sehr ähnlich, da Java die Verwendung beider Umgebungsvariablen ermöglicht, um die Java-Optionen an JVM zu übergeben.

Wie wir bereits gesehen haben, gelten alle Regeln und Methoden zum Übergeben von Argumenten mit JAVA_TOOL_OPTIONS auch für JDK_JAVA_OPTIONS.

Der Hauptunterschied zwischen diesen Variablen ist jedoch unten angegeben.

  1. Java Launcher liest die übergebenen Argumente mit JDK_JAVA_OPTIONS. Daher können wir keine Optionen übergeben, die dazu führen, dass der Launcher beendet wird, und JAR oder die Hauptklasse angeben.

Daher können wir diese Variable verwenden, um während der Laufzeit verwendete Optionen auf Launcher-Ebene zu übergeben.

  1. Der Java-Compiler und JAR lesen auch die JAVA_TOOL_OPTIONS. Daher können wir diese Variable verwenden, um Optionen zum Optimieren der Ausführung festzulegen.

Mit dieser Variable können wir zum Beispiel Flags setzen.

Fazit

In diesem Artikel wurden die Java-Umgebungsvariablen JAVA_TOOL_OPTIONS, JDK_JAVA_OPTIONS und _JAVA_OPTIONS besprochen. Wir haben auch die Unterschiede zwischen der Verwendung dieser Umgebungsvariablen diskutiert.