Heim >Java >javaLernprogramm >Wie kann festgestellt werden, ob ein JVM-Argument explizit festgelegt ist oder seinen Standardwert verwendet?

Wie kann festgestellt werden, ob ein JVM-Argument explizit festgelegt ist oder seinen Standardwert verwendet?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-10 03:39:02391Durchsuche

How to Determine if a JVM Argument is Explicitly Set or Using its Default Value?

Zugriff auf VM-Argumente innerhalb einer Java-Anwendung

Problem:

Wie können Sie feststellen, ob Eine an die Java Virtual Machine (JVM) übergebene Option ist explizit festgelegt oder hat ihren Standardwert? In diesem Fall besteht das Ziel darin, einen Thread mit einer höheren nativen Stapelgröße im Vergleich zum Standard zu erstellen. Wenn der Benutzer jedoch die Option -Xss angibt, sollte die Standardstapelgröße angewendet werden.

Lösung:

Um Informationen über VM-Argumente in Ihrer Java-Anwendung abzurufen, Sie können die Methode System.getProperty() verwenden. Mit dieser Methode können Sie auf Systemeigenschaften zugreifen, einschließlich derjenigen, die beim Starten der JVM als Argumente festgelegt wurden.

So implementieren Sie dies mit -Dname=value:

  1. Geben Sie an Rufen Sie beim Start das gewünschte VM-Argument wie folgt auf:

    java -Dstack.size=1024k ...
  2. Rufen Sie dieses Argument in Ihrem Java-Code mit der System.getProperty()-Methode ab:

    String stackSize = System.getProperty("stack.size");

Sie können dann den abgerufenen Wert von stackSize verwenden, um zu bestimmen, ob das Argument -Xss explizit festgelegt wurde oder nicht. Wenn es festgelegt ist, werden Threads mit der angegebenen Stapelgröße erstellt. Andernfalls verwenden Sie die Standardstapelgröße.

Das obige ist der detaillierte Inhalt vonWie kann festgestellt werden, ob ein JVM-Argument explizit festgelegt ist oder seinen Standardwert verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn