使用JNI获取VM参数

时间:2011-12-19 16:37:24

标签: java java-native-interface

我想知道是否可以使用JNI获取VM参数?

如果要创建自己的JVM,则使用Invocation API可以指定VM参数。

我希望能够做的是从已经运行的使用普通Java启动程序启动的JVM中查询JNI中的这些参数。我相信它必须是可能的,因为JMX能够做到这一点。

我已经搜索了相当的扩展,但还没有找到解决方案。

提前致谢 CND

PS。我知道可以使用RuntimeMXBean.getInputArguments()查询这些内容,但我需要在JNI中本地执行此操作。

1 个答案:

答案 0 :(得分:0)

RuntimeMXBean.getInputArguments()调用VMMangementImpl.getVmArguments,它返回一个不可变的集合,很难篡改。

http://www.java2s.com/Open-Source/Java-Document/6.0-JDK-Modules-sun/management/sun/management/VMManagementImpl.java.htm

它反过来调用本机方法getVmArguments0(),并且OpenJDK中提供了此方法的源代码。您可以调用此方法调用的任何内容。