1

我正在编写一个小代码来检测在我们的工具中执行某些操作后留下的对象数量。这使用FollowReferences()来自 JVMTI API。这会计算所有路径可到达的实例。如何跳过包含弱/软/幻像引用的路径?

IterateThroughHeap()目前计算所有对象,所以这个数字并不完全可靠。)

4

1 回答 1

0

解决方案(目前)是使用FindClassforjava/lang/ref/Reference然后将其标记为跳过。在 for 的回调中FollowReference,当类被标记为跳过时跳过迭代。

(真正的解决方案可能是使用 Sun JDK 附带的 hprof 代码。)

于 2010-03-18T18:01:50.320 回答