一度しか作成できないため、キャッシュする必要がある非常に大きなオブジェクトをキャッシュするより良い方法はありますか? 現在、私は以下を持っています:
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);
}
}
LargeObjects を使用できるクラスがいくつかあるため、LargeObjects を使用するすべてのクラスに渡すのではなく、シングルトンをキャッシュに使用することにしました。
また、マップには多くのキーが含まれていません (1 つまたは 2 つですが、キーはプログラムの実行ごとに異なる可能性があります)。この場合に使用する別のより効率的なマップはありますか?