Коллекции middle
Что такое ConcurrentHashMap Java 8?
Ответ
CAS + synchronized на головах бакетов. Treeify при 8 коллизиях. null запрещён. computeIfAbsent атомарен.
Разбор: ConcurrentHashMap Java 8 использует CAS для вставки в пустой бакет и synchronized на голове непустого бакета, превращает длинные цепочки в деревья при 8 коллизиях, запрещает null-ключи и null-значения, а computeIfAbsent выполняется атомарно. Ловушки — рудименты Java 7 (сегменты с ReentrantLock), допущение null или отрицание treeify/атомарности computeIfAbsent.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.