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