3

我不是在问单个引用占用多少内存。我想知道垃圾收集的反向意义。

即给定引用X,该引用有多少内存不允许垃圾收集器释放。

可以做到这一点吗?

显然,如果可以,并且如果一个人有一组引用(AB 和 C),那么很可能在保留的内存中会有一些重叠(即 A 和 B 可能都与同一位内存有某种联系),那就是好的。

重点是,尝试找出发生内存泄漏的原因。如果有人有一个包含长寿命对象的程序,则可以通过编程方式找出这些对象中的哪些正在增长,然后冲洗并在所述对象上重复。

那么有可能吗?

4

1 回答 1

1

MemoryMeasurer 看起来很有趣,但我认为问题是询问您不知道的内存 - 即;内存意外膨胀,您正在寻找原因的线索。

VisualVM 有一个内存分析器,它会告诉你正在保留什么样的对象,这是一个很好的起点。我不知道有任何工具可以扭转这种情况并告诉您哪些对象保留了它们。

于 2012-08-12T07:34:13.637 回答