我已经开始使用 VisualVM 调试我的软件。我才刚刚开始熟悉这个软件。
我有内存泄漏。我发现了一些可疑的东西,但不知道该怎么解释。
下一步是什么?
最佳答案
这就是我使用Java VisualVM快速跟踪内存泄漏的方法。
首先在代码中要检查的位置设置断点或暂停。
执行程序的堆转储,使用“在实例 View 中显示”来详细查看您怀疑泄漏的类的实例(即内存中明显有太多实例)。
然后确定应该收集的该类的一个实例。在“引用”面板中,您可以看到引用您的类的所有对象,右键单击“this”并选择“最近的GC根”,这将显示哪些引用阻止该类被GC收集。
这样您就可以快速识别哪里是错误的引用,并相应地修改您的程序以避免泄漏。
祝你好运,这实际上是一个非常有趣的任务,如果你是初学者,你会学到很多关于 JVM 如何工作的知识
关于使用VisualVM的java内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14812349/