从JDK1.5访问VirtualMachine和HotspotVirtualMachine类

时间:2010-12-16 08:20:02

标签: java

如何在JDK1.5中使用sun.tools.attach.HotSpotVirtualMachinecom.sun.tools.attach.VirtualMachine

2 个答案:

答案 0 :(得分:2)

这些类是在Java 6(Mustang)中引入的,所以简短的答案是不能在Java 5(JDK 1.5)中使用它们。

稍微长一点的答案是,您理论上可以将这些类向后移植到Java 5.但是,这需要更改Java 5虚拟机的源代码库,而Sun / Oracle从未发布过。更重要的是,后端口不再是Java 5了。


在回答@Peter Lawrey的回答时,过去曾经认为访问sun.*类是一个很大的禁忌。但是,最近Sun一直在创建供公众使用的新API(至少在某些情况下)。 “Attach”API就是这样一个例子。

Attach API不是标准Java SE类库的一部分,因此使用它可能会使您的应用程序(或Java工具)平台特定。毫无疑问,使用API​​可以让您在此级别与JVM进行交互。但肯定是Sun published the API,其意图是人们应该能够......在适当的时候使用它。

答案 1 :(得分:1)

您不能在任何Java版本中安全地使用sun。*类。这些仅供内部使用,可以在Java更新之间更改/消失。

您可以通过附加tools.jar库来自行承担风险。 http://www.docjar.com/docs/api/sun/tools/attach/HotSpotVirtualMachine.html