<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version>
</dependency>
ConcurrentMap<Key, Value> cache = new ConcurrentLinkedHashMap.Builder<Key, Value>()
.build();
Value value = cache.get(key);
if (value == null) {
value = computeValue(key);
cache.put(key, value);
}