ConcurrentHashMap
ConcurrentHashMap имеет разные реализации в 1.7 и 1.8 (что стало для меня неожиданностью).
Раньше параллелизм основывался на идее сегментирования хэштаблицы на основе заданного уровня параллелизма.
Начиная с Java 8 — это единый массив бакетов с lock-free (локинг на первой ноде бакета с cas-циклом) и конкурентным ресайзингом.
Частичная реализация ConcHashMap (аля Java 8) с нуля
ConcurrentHashMap имеет разные реализации в 1.7 и 1.8 (что стало для меня неожиданностью).
Раньше параллелизм основывался на идее сегментирования хэштаблицы на основе заданного уровня параллелизма.
Начиная с Java 8 — это единый массив бакетов с lock-free (локинг на первой ноде бакета с cas-циклом) и конкурентным ресайзингом.
Частичная реализация ConcHashMap (аля Java 8) с нуля