3
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();
    }
}

ルート マップの値を繰り返し処理し、最初にルートにネストされたすべてのマップをクリアする必要がありますか? それとも、最も外側のマップをクリアするだけで十分ですか? 私の主な質問は、これら 2 つの方法で JVM のメモリ消費に違いがあるかどうかです。

4

1 に答える 1