如何查找Java内存泄漏
如何在Java中发现内存泄漏(例如,使用Jhat)?我试着在Jhat中加载堆转储,以了解基本情况。但是,我不明白如何才能找到根引用(参考文献)或者不管它叫什么。基本上,我可以看出哈希表条目有几百兆字节([java.util.HashMap$Entry或类似的东西]),但是地图在整个地方都使用.有没有什么方法可以搜索大型地图,或者可能找到大型对象树的一般根?
[编辑]好吧,到目前为止,我已经读过答案了,但我只能说我是个卑鄙的混蛋(这意味着我更感兴趣的是学习如何使用Jhat而不是支付JProfiler的费用)。而且,Jhat总是可用的,因为它是JDK的一部分。当然,除非Jhat没有办法,只能用蛮力,但我不敢相信情况会是这样。
此外,我认为我无法实际修改(添加全并运行足够长的时间让我注意到泄漏。