java - 如何以编程方式获取特定 JVM 实例的系统属性?

标签 java properties jvm

我希望获得为第三方 java 进程/JVM 设置的系统属性。我需要以编程方式执行此操作。例如获取“java.class.path”属性。我该怎么做?

我知道我们可以使用 System.getProperty() 获取我们编写的 Java 程序的属性。但是我需要获取第三方 JVM 的系统属性。我怎样才能得到相同的?

最佳答案

如果您所说的第三方 JVM 只是指另一个 JVM,那么您应该尝试 jinfo。这不适用于所有 JVM 实现,但很可能有它或类似的东西。 jinfo 将进程 ID 作为参数(或远程系统,请参阅 man jinfo)。要查找进程 ID,请使用 jpsjps -v

jinfo 74949
Attaching to process ID 74949, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 20.4-b02-402
Java System Properties:

java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries
java.vm.version = 20.4-b02-402
awt.nativeDoubleBuffering = true
...

关于java - 如何以编程方式获取特定 JVM 实例的系统属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8833533/

相关文章:

properties - 无法将属性传递给 WiX 自定义操作

iphone - 将 Obj-C 2.0 属性与可变对象(例如 NSMutableArray)一起使用的最佳方式是什么?

java - 为什么 Java VM 在出现 "Too many open files"错误后无法恢复?

java - Java 6 中的垃圾优先 (G1) 收集器是 "production ready"吗?

java - 如何用值声明一个 ArrayList?

java - Java 的 strictfp 修饰符是否通过函数调用应用?

java - JPQL 查询中的静态工厂方法而不是构造函数

java - java中的xslt转换,属性值未编码

python - 在 SQLAlchemy 中查询混合属性

java - 如何使 java 库对 clojure 可见?