Как работает ConcurrentHashMap?

Senior
391 просмотров
AFK Offer AI

ConcurrentHashMap — потокобезопасная HashMap без блокировки всей таблицы. В Java 8+ использует CAS-операции и синхронизацию на уровне отдельного бакета (Node), а не сегментов как раньше. put() блокирует только один бакет через synchronized на первом узле. get() полностью lock-free — поля val и next у Node volatile. size() — приблизительный, через baseCount + counterCells. Не допускает null-ключей и null-значений (в отличие от HashMap). Это стандарт для многопоточных map.

Следующий вопрос

Как реализовать JWT-аутентификацию в Spring?