W sprawie korzystania z Singletona opartego na Enum do buforowania dużych obiektów (Java)

Czy istnieje lepszy sposób na buforowanie bardzo dużych obiektów, które można utworzyć tylko raz, a zatem muszą być buforowane? Obecnie mam następujące:

public enum LargeObjectCache {  
    INSTANCE; 

    private Map<String, LargeObject> map = new HashMap<...>();

    public LargeObject get(String s) {  
        if (!map.containsKey(s)) {
            map.put(s, new LargeObject(s));
        }
        return map.get(s);
    }
}  

Istnieje kilka klas, które mogą używać obiektów LargeObject, dlatego zdecydowałem się użyć singletonu dla pamięci podręcznej, zamiast przekazywać obiekty LargeObject do każdej klasy, która go używa.

Ponadto mapa nie zawiera wielu kluczy (jeden lub dwa, ale klucz może się różnić w różnych przebiegach programu), więc czy jest w tym przypadku inna, bardziej wydajna mapa?

questionAnswers(2)

yourAnswerToTheQuestion