什么是学习固定的java内存泄漏的最好的地方? 我一直在试图寻找过网很好的资源,但让我失望,我发现正在讨论玩具的例子。 我也能解决小玩具堆放,但在现实世界的应用场是更具挑战性,并给予些许端倪。
我曾尝试与jHat一样,JMAP,VisualVM的和MAT工具。
什么是学习Java的固定内存泄漏的最佳地点? 一本书的建议是也欢迎。
提前致谢。
什么是学习固定的java内存泄漏的最好的地方? 我一直在试图寻找过网很好的资源,但让我失望,我发现正在讨论玩具的例子。 我也能解决小玩具堆放,但在现实世界的应用场是更具挑战性,并给予些许端倪。
我曾尝试与jHat一样,JMAP,VisualVM的和MAT工具。
什么是学习Java的固定内存泄漏的最佳地点? 一本书的建议是也欢迎。
提前致谢。
您是否尝试过搜索互联网 ? 有很多例子 。 一个好的搜索引擎会通过对它们进行排序的相关性 。
有许多类型的内存泄漏,但在实践中,以下策略提供了良好的结果(声明:我是从显示屏幕截图JProfiler的 ,因为我的公司开发的话):
1.检查最大的对象
“最大的对象”保留了很多的内存没有其他人拥有。 在JProfiler的,它们可以在堆助行器的“最大对象”视图中找到。 这往往与高速缓存发生。
2.检查班有很多实例
有时,引用更复杂,最大的对象不提供线索。 有很多实例的类可以检查其传入引用。 首先,它是有帮助的看累积参考,以分离可疑参考链有效的参考链。
此外,检查其中为实例已经分配(而不是他们是如何引用)可以经常给上正在发生的事情的洞察力。
通常,这是一个多步骤的过程,在选择参考链,分配点,或者使得基于对象的内容的选择。
3.搜索路径GC根
如果仍然不提供线索,您可以选择单个对象,并显示其参考链,导致垃圾收集器的根。 它帮助了很多你能尝试到之前缩小可疑对象的对象集合,否则你可能有很多的候选人。
还有一个屏幕投在这个题目。