
您可以使用
jps随jvm一起分发的命令行工具。不过,我不知道有任何普通的Java
API。但是,JConsole可以满足您的要求,因此我看了一下其来源。确实很吓人,但是在四处查看时,我发现了对jVisualVM类的引用,当您指定Java
6+时就可以看到它们。这是我发现的:
这些类都在中
sun.tools,因此首先您必须找到
jconsole.jarJVM附带的类(当然假设是Sun
JVM)并将其添加到类路径中。然后可以得到活动虚拟机的快速列表:
public static void main(final String[] args) { final Map<Integer, LocalVirtualMachine> virtualMachines = LocalVirtualMachine.getAllVirtualMachines(); for (final Entry<Integer, LocalVirtualMachine> entry : virtualMachines.entrySet()) { System.out.println(entry.getKey() + " : " + entry.getValue().displayName()); }}一旦获得对JVM的引用,就可以使用Attach
API与它们进行通信。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)