繁体   English   中英

使用visualvm的Java内存泄漏

[英]java memory leak using visualvm

我已经开始使用visualVM调试软件。 我才刚开始熟悉该软件。

我有内存泄漏。 我发现某事令人怀疑,但不知道该怎么做。

你下一步怎么做?

在此处输入图片说明

这就是我使用Java visualVM快速跟踪内存泄漏的方式。

首先设置断点或在要检查的位置暂停代码。

执行程序的堆转储,使用“在实例视图中显示”详细查看您怀疑泄漏的类的实例(即,显然内存中的实例过多)。

然后,确定应该收集的该类的一个实例。 在“引用”面板中,您可以看到所有引用该类的对象,右键单击“ this”并选择“ nearest GC root”,这将向您显示哪些引用阻止了该类被GC收集。

这样,您可以快速确定错误的引用在哪里,并相应地修改程序以避免泄漏。

祝您好运,这实际上是非常有趣的任务,如果您是初学者,您将学到很多有关JVM工作原理的知识。

我对您的应用程序一无所知,但我怀疑内存泄漏可以追溯到HashMap。 值通常会在映射中累积(用于缓存...)。 也可以看看这些类似的帖子:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM