Проверяет понимание механизма блокировок в ConcurrentHashMap и её отличий от синхронизированных коллекций.
ConcurrentHashMap — это потокобезопасная реализация HashMap в Java, которая использует технику разделения на сегменты (lock striping). Вместо блокировки всей карты, она делит внутреннюю структуру на несколько сегментов, каждый из которых имеет свою собственную блокировку. Это позволяет нескольким потокам одновременно выполнять операции над разными сегментами.
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
// Поток 1
map.put("key1", 1);
// Поток 2
map.put("key2", 2);
// Оба потока могут работать одновременно, так как ключи попадают в разные сегментыConcurrentHashMap следует использовать в многопоточных приложениях, где требуется высокая производительность и потокобезопасность, особенно при частых операциях чтения и записи из разных потоков.