Коллекции middle
CopyOnWriteArrayList: плюсы и минусы?
Ответ
Плюсы: lock-free чтение (читатели не блокируются), fail-safe итератор (работает со snapshot). Минусы: при каждой записи — копирование всего массива → дорого. Подходит: много чтений, редкие записи (listeners, подписчики).
Разбор: В CopyOnWriteArrayList чтение происходит без блокировок, а итератор работает со снимком (snapshot) и не бросает ConcurrentModificationException, отражая состояние на момент создания. При любой записи целиком копируется внутренний массив, поэтому структура хороша при редких записях и частых чтениях. Ловушки: запись не lock-free на месте, итератор не видит последующих изменений, а чтение никогда не синхронизируется и не блокируется.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.