Почему
HashMap не потокобезопасен, и что может пойти не так при одновременной записи в него?Ответ: HashMap не синхронизирован, и при многопоточной записи могут возникнуть циклические ссылки (infinite loop) или потеря данных.
Причины:
▶️ При put() возможна перезапись данных в одной и той же ячейке
▶️ Resize (rehash) в многопоточной среде может привести к зацикливанию списка бакетов
▶️ При итерации можно получить ConcurrentModificationException
Решения:
▶️ Использовать ConcurrentHashMap для потокобезопасности
▶️ Синхронизировать доступ через Collections.synchronizedMap()
tags: #собеседование
📱 Java Developer | Чат