我有一个单例对象,其中包含一些并发哈希映射,其中一个会导致内存泄漏(即它占用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。
我知道它非常古老的线程。面临同样的问题。去列表对象-