gpt4 book ai didi

java - 在 Java 中清除嵌套 map 的好方法

转载 作者:行者123 更新时间:2023-12-04 12:52:53 24 4
gpt4 key购买 nike

public class MyCache {

AbstractMap<String, AbstractMap<String, Element>> cache = new TreeMap<String, AbstractMap<String,
Element>>();

public Boolean putElement(String targetNamespace, Element element) {
...
}

public void clear() {
cache.clear();
}

// is it better this way?

public void deepClear() {
for(AbstractMap<String, Element> innerMap : cache.values()) {
innerMap.clear();
}
cache.clear();
}
}

是否需要遍历根映射的值并先清除嵌套在根中的所有映射,还是清除最外层映射就足够了?我的主要问题是,这两种方法在 JVM 内存消耗方面是否存在差异?

最佳答案

这两种方法是相同的。假设没有对象(除了 map 本身)持有对嵌套 map 的引用,一旦第一个 map 被清除,它包含的所有 map 都有资格被垃圾收集,因此,这些 map 持有引用的所有对象也是如此。

关于java - 在 Java 中清除嵌套 map 的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16231387/

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