Heim >Java >javaLernprogramm >Wie kann festgestellt werden, ob ein JVM-Argument explizit festgelegt ist oder seinen Standardwert verwendet?
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:
Geben Sie an Rufen Sie beim Start das gewünschte VM-Argument wie folgt auf:
java -Dstack.size=1024k ...
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!