Коллекции middle
В чём разница: Fail-fast vs fail-safe итераторы?
Ответ
Fail-fast (HashMap, ArrayList) кидают ConcurrentModificationException при изменении коллекции. Fail-safe (ConcurrentHashMap, CopyOnWriteArrayList) работают со снимком.
Разбор: Fail-fast (HashMap, ArrayList) при структурном изменении коллекции не через итератор бросают ConcurrentModificationException; fail-safe (ConcurrentHashMap, CopyOnWriteArrayList) работают со снимком/слабо-консистентно и исключения не кидают. Дистракторы переставляют свойства местами: именно fail-safe работают по снимку, а не fail-fast; CME бывает и в одном потоке; и fail-safe как раз могут не увидеть последующих изменений.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.