2009-07-17 60 views

回答

2

我不确定是否可以简单地访问您正在查看的内容。

JPDA(Java平台调试器架构)支持构建调试器,因此如果您想深入研究内部构件,这是一个很好的起点。有一个blog on the JPDA,你也可能会发现有用的。查看Sun Developer Network JPDA page以获取文档,常见问题解答,示例代码和论坛的链接。这可能是好的起点

两个接口:

  • com.sun.jdi.ObjectReference:从目标VM
  • com.sun.jdi.VirtualMachine java.lang.Class的一个实例:虚拟机针对调试
0

我不认为有这样的机制,并且没有真正的理由GC会需要一个。

+0

GC需要知道对象存在哪些引用来知道是否垃圾回收。 – notnoop 2009-07-17 22:10:34

2

如果你正在寻找内存泄漏,我发现分析堆转储Eclipse MAT是非常有用的。您可以选择一个对象并要求获取“GC根”的路径,即向我显示所有引用链,以防止垃圾收集。

0

这取决于你想如何使用它一点点,但如果你需要它来分析你的内存使用情况,采取堆转储和MemoryAnalyzer打开它,或者与jHat可能会给你你需要的信息。采取不同的堆转储方式可以找到here

0

尽管JDPA API支持,但GC不支持这一点。但是在Java应用程序中做这种事情我会非常谨慎。无论在时间还是记忆上,它都可能会非常昂贵。