0
A
回答
0
我不知道你的应用程序什么,但我会怀疑内存泄漏可以追溯到一个HashMap。价值通常积累在地图中(用于缓存......)。 也看看这些类似的帖子:
1
这是我用Java VisualVM的快速跟踪内存泄漏的方式。
首先在您想要检查的位置在您的代码中设置断点或暂停。
执行程序的堆转储,使用“在实例视图中显示”查看您怀疑泄漏的类的详细实例(即内存中显然太多的实例)。
然后确定应该收集的那个类的一个实例。在“参考”面板中,您可以看到所有引用您的类的对象,右键单击“this”并选择“最接近的GC根目录”,这将显示哪些引用阻止GC收集该类。
通过这种方式,您可以快速识别错误引用的位置,并相应地修改程序以避免泄漏。
祝你好运,它实际上是很有趣的任务,如果你是一个初学者,你会学到很多关于JVM是如何工作的
相关问题
- 1. VisualVM内存泄漏?
- 2. VisualVM内存泄漏检测
- 3. 使用VisualVM分析内存泄漏
- 4. Java内存泄漏
- 5. Java内存泄漏
- 6. 如何使用visualvm查找内存泄漏
- 7. Java/Android SDK内存泄漏使用inputStream.available()
- 8. Java 3D内存泄漏
- 9. 编码:Java内存泄漏
- 10. Java LibGDX内存泄漏
- 11. Java休眠内存泄漏
- 12. java内存泄漏修复
- 13. Java线程内存泄漏
- 14. Java String.split内存泄漏?
- 15. 内存泄漏xerces使用
- 16. 使用ActionBarSherlock泄漏内存
- 17. 内存泄漏使用shared_ptr
- 18. 内存泄漏使用cvCopy
- 19. 内存泄漏使用toString()
- 20. 内存泄漏:
- 21. 内存泄漏
- 22. 内存泄漏
- 23. 内存泄漏
- 24. 内存泄漏
- 25. 内存泄漏
- 26. 内存泄漏:
- 27. 内存泄漏
- 28. 内存泄漏
- 29. 内存泄漏
- 30. 内存泄漏
它看起来像你有一个JDBC连接保持包含数据的180MB一个HashMap。点击JDBC连接并试图从持有大地图的字段名称中了解它应该包含的内容。 – Flavio 2013-02-11 12:55:46
无法从中理解。有人对此有过诡计吗? – user502967 2013-02-11 17:39:13