提问者:小点点

Eclipse MAT:查找导致泄漏的变量名


我有一个单例对象,其中包含一些并发哈希映射,其中一个会导致内存泄漏(即它占用2GB堆的99.5%)。有没有办法使用Eclipse MAT(或其他堆转储分析工具)确定不同哈希映射的变量名称?例如,在这种情况下,类是

class ABunchOfMaps {
    ConcurrentMap<Long, String> map1 = new ConcurrentHashMap<>();
    ConcurrentMap<Long, String> map2 = new ConcurrentHashMap<>();
    ConcurrentMap<Long, String> map3 = new ConcurrentHashMap<>();
}

有没有办法确定map1、map2或map3是否导致泄漏?我所能做的就是获取地图的地址,而不是它们的名称。我正在使用独立的eclipse内存分析器,版本1.6.1。


共1个答案

匿名用户

我知道它非常古老的线程。面临同样的问题。去列表对象-