Java查找内存泄漏源

Java查找内存泄漏源,java,memory-leaks,Java,Memory Leaks,我在Java中遇到了一些内存泄漏问题。我正在运行minecraft服务器,其中一个服务器插件有时会造成巨大的内存泄漏。以下是一个内存泄漏的图像: 有东西正在创建一个无限的HashMap,或者类似的东西。我可以使用哪些工具来查看HashMap中的内容,或者查看哪个类正在创建HashMap?我不知道应该从哪里开始找到泄漏位置 这种内存泄漏是随机的。它可能在几天后发生,甚至每天2-3次 编辑1: 以下是HashMap项的一些图像: 似乎是PreciousStones导致了此问题。有人能证实这一点吗

我在Java中遇到了一些内存泄漏问题。我正在运行minecraft服务器,其中一个服务器插件有时会造成巨大的内存泄漏。以下是一个内存泄漏的图像:

有东西正在创建一个无限的
HashMap
,或者类似的东西。我可以使用哪些工具来查看
HashMap
中的内容,或者查看哪个类正在创建
HashMap
?我不知道应该从哪里开始找到泄漏位置

这种内存泄漏是随机的。它可能在几天后发生,甚至每天2-3次

编辑1: 以下是
HashMap
项的一些图像:

似乎是
PreciousStones
导致了此问题。有人能证实这一点吗

编辑2:
我还发现mineverse.Aust1n46.chat正在创建字符串和字符泄漏。20“async thread chat”每次都使用string和char方法。

您可以查看它的引用(使用相同的工具JProfiler)吗?还要看看那些Hashmap引用了什么?如果Hashmap是一种缓存,请验证它是否具有清理机制(或密钥过期)。另外,检查是否由于错误的equals哈希代码实现而放置了“重复”键(不确定这是怎么回事..具有“相同”对象并需要新条目..)。完成。我认为AsyncChat和PrecisionStones是内存泄漏的根源。AsyncChat创建了大量的字符串和字符对象,PrecisionStone创建了一个巨大的HashMap。您可以查看它的引用(使用相同的工具JProfiler)吗?还要看看那些Hashmap引用了什么?如果Hashmap是一种缓存,请验证它是否具有清理机制(或密钥过期)。另外,检查是否由于错误的equals哈希代码实现而放置了“重复”键(不确定这是怎么回事..具有“相同”对象并需要新条目..)。完成。我认为AsyncChat和PrecisionStones是内存泄漏的根源。AsyncChat创建了大量的字符串和字符对象,PrecisionStone创建了一个巨大的HashMap