gpt4 book ai didi

java - static HashMap 导致内存泄漏,但是如何纠正它?

转载 作者:行者123 更新时间:2023-12-02 00:04:13 34 4
gpt4 key购买 nike

private static Map<interface,class> m =new HashMap<interface,class>;

是类的实例变量。

class Synchronized(m){m.put(this,this);} 的构造函数中,

问题是这里的键和值是相同的,因此当更新的指示到来时,H​​AshMap 正在收集所有数据,并且永远不会进行 GC 处理。它导致泄漏。

我尝试了一种解决方法并删除了 static 关键字,它工作正常。但我认为删除 static 可能会导致一些严重的问题。

有没有其他方法可以纠正这种泄漏。代码重构是不可能的,因为它非常复杂,而且我已经没有时间了。任何人请指导我。提前致谢

最佳答案

如果 HashMap 保留了您不想要的条目,那是因为您没有删除它们。

如果您只保留所需的条目,则静态集合没有任何特殊原因会导致内存泄漏。

关于java - static HashMap 导致内存泄漏,但是如何纠正它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14209793/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com