gpt4 book ai didi

java - 这种模式会调用内存泄漏吗

转载 作者:行者123 更新时间:2023-12-02 11:30:30 25 4
gpt4 key购买 nike

如果有一个 SomeClass 的单例实例,并且其他一些类在 SomeClass 的实例上重复调用 createMap() 方法,那么是否会出现内存泄漏?我用 50000 个循环和受监控的堆对此进行了测试,我没有看到泄漏,但想听听意见。

class SomeClass {
Map<String, String> someMap;

public void createMap() {
someMap = new HashMap<String, String>();
System.out.println("Created map");
try {
Thread.sleep(10);
} catch(InterruptedException ie){

}
}
}

最佳答案

简短回答 - 否。

长答案 - 取决于 try 下的完整代码以及如何调用 createMap()

从您的问题中我假设您关心应用程序的功能和整体性能。内存只是其中的一方面。您的 Singlton 类将立即脱离逻辑角度,因为您没有对 createMap() 的并发控制,并且多个并行调用可能会覆盖 someMap。

这还取决于您在 try{ block 下执行的操作。如果您将 someMap 发送到外部另一个方法等,则可能会出现内存泄漏。

关于java - 这种模式会调用内存泄漏吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49325875/

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