你如何在Java中找到内存泄漏(例如,使用JHat)?我试图在JHat中加载堆转储以获得基本外观.但是,我不明白我应该如何能够找到根引用(ref)或其所谓的.基本上,我可以说有几百兆字节的哈希表条目([java.util.HashMap $ Entry或类似的东西),但地图遍布整个地方...有没有办法搜索大地图,或者可能找到大型对象树的一般根源?
[编辑]好的,到目前为止我已经阅读了答案,但我们只是说我是一个廉价的混蛋(这意味着我对学习如何使用JHat更感兴趣而不是支付JProfiler).此外,JHat始终可用,因为它是JDK的一部分.除非当然没有办法与JHat合作但是蛮力,但我无法相信可能是这样.
此外,我认为我不能实际修改(添加所有地图大小的记录)并运行它足够长的时间让我注意到泄漏.