Muszę sprawdzić, czy niektóre opcje, które można przekazać do JVM, są jawnie ustawione lub mają ich domyślną wartość.Jak uzyskać argumenty vm z wnętrza aplikacji java?
Aby być bardziej konkretne:
muszę utworzyć jeden konkretny wątek z wyższej natywnej wielkości stosu niż domyślny, ale w przypadku, gdy użytkownik chce dbać o takie rzeczy samemu określając -Xss
opcję Chcę utworzyć wszystkie wątki z domyślnym rozmiarem stosu (który będzie określony przez użytkownika w opcji -Xss).
Sprawdziłem klasy takie jak java.lang.System
i java.lang.Runtime
, ale nie podają one informacji o vmargs
.
Czy istnieje jakiś sposób uzyskania potrzebnych informacji?
Niestety nie można uzyskać nazwy głównej klasy, jeśli podano ją w wierszu poleceń. – Daniel
@Daniel, to powinno ci nadać nazwę głównej klasy: 'final StackTraceElement [] stackTrace = Thread.currentThread(). GetStackTrace();' 'final String mainClassName = stackTrace [stackTrace.length - 1] .getClassName()); ' – laz
@laz System.getProperty (" sun.java.command ") jest znacznie prostszy. – Vulcan