我的memory leak
应用程序中似乎遇到javaFX
个问题,我一直在使用net beans profiler工具来帮助我找到漏洞的来源,但是我已经碰到了墙,因为我&#39 ;我不确定我到底在做什么。
现在我已经查看了教程,并且他们说要监视对象的surviving generations
,但我仍然不确定该信息的内容。在监控我的应用程序时,我截取了最高surviving generation
个对象的屏幕截图。
有人可以向我解释我应该对这些对象做些什么,或者他们实际上是在导致memory leak
?
答案 0 :(得分:1)
意外高内存使用的常见来源是将对象添加到集合中,然后在完成后不删除它们(我看到您发布的图像显示可能存在问题的HashMap)。典型的解决方案是使用一个集合,一旦对象的所有其他引用都消失,它将不会使对象保持活动,请参阅WeakHashMap以获取更多信息。
要深入研究这些类型的问题,请进一步捕获hrpof(您可以使用VisualVM,JConsole等),然后在Eclipse MAT或类似工具中进行分析。