我需要检查是否可以显式设置可以传递给JVM的某些选项,或者是否具有其默认值。
更具体地说:我需要创建一个本机堆栈大小比默认线程大的特定线程,但是如果用户想通过指定-Xss选项自己处理此类事情,我想创建所有具有默认堆栈大小的线程(将由用户在-Xss选项中指定)。
我已经检查了类java.lang.System和java.lang.Runtime,但是这些类并没有给我有关VM参数的任何有用信息。
java.lang.System
java.lang.Runtime
有什么方法可以获取我需要的信息吗?
通过此代码,你可以获取JVM参数:
import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; ... RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); List<String> arguments = runtimeMxBean.getInputArguments();
在启动时通过 -Dname=value
-Dname=value
然后在代码中应该使用
value=System.getProperty("name");
获得那个价值