Core concept

ConcurrentHashMap map = new ConcurrentHashMap<>();
map.putIfAbsent("a", 1);
map.compute("a", (k, v) -> v == null ? 1 : v + 1);
Advertisement

How it works

Iteration weakly consistent.

Advertisement

Trade-offs + gotchas

Concurrent lookups. Caches.