java - JVMTI:FollowReferences:如何跳过软/弱/幻像引用?

标签 java memory-leaks memory-management jvmti

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

(IterateThroughHeap() 统计当前所有对象,因此该数字并不完全可靠。)

最佳答案

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

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

关于java - JVMTI:FollowReferences:如何跳过软/弱/幻像引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2437496/

相关文章:

java - 在jsp标签文件的java代码中使用标签属性

iphone - 仅使用 alloc 而不使用 init 是否正确/优雅?

java - 如何让服务器以多行响应? ( java )

java - 如何在需要引用过滤器bean的grails中注册spring bean

java - 提高 JTextField 的性能

objective-c - 如何避免 xcode 4.5 w/o ARC 出现僵尸错误?

c - 尽管释放结构内存泄漏

java - 有可用内存的 OutOfMemoryError

android 崩溃屏幕旋转

java - JedisPool 内存泄漏