ConcurrentHashMap



ConcurrentHashMap имеет разные реализации в 1.7 и 1.8 (что стало для меня неожиданностью).

Раньше параллелизм основывался на идее сегментирования хэштаблицы на основе заданного уровня параллелизма.

Начиная с Java 8 — это единый массив бакетов с lock-free (локинг на первой ноде бакета с cas-циклом) и конкурентным ресайзингом.

Частичная реализация ConcHashMap (аля Java 8) с нуля