[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-collections-kakaya-raznitsa-mezhdu-fail-fast-i-fail-safe":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":18,"progress":19,"seo":20},429,"kakaya-raznitsa-mezhdu-fail-fast-i-fail-safe",12,"collections","Collections","📚","Какая разница между fail-fast и fail-safe","Fail-fast итераторы немедленно выбрасывают `ConcurrentModificationException` при обнаружении модификации коллекции, тогда как fail-safe итераторы работают с копией или снимком данных и никогда не выбрасывают это исключение.\n\n| Характеристика | fail-fast | fail-safe |\n|---|---|---|\n| Исключение при модификации | ConcurrentModificationException | Нет |\n| Работает с | Оригинальной коллекцией | Копией \u002F снимком |\n| Отражает изменения | Нет (прерывается) | Не обязательно |\n| Потребление памяти | Низкое | Выше (копия данных) |\n| Примеры | ArrayList, HashMap | CopyOnWriteArrayList, ConcurrentHashMap |\n\nFail-safe итераторы из пакета `java.util.concurrent` на самом деле не копируют всю коллекцию целиком (это было бы слишком дорого). Например, итератор `ConcurrentHashMap` работает с сегментами таблицы и допускает слабую согласованность (weakly consistent) — он может не отражать последние модификации, но никогда не выбросит исключение.\n\n> **На собеседовании:** используйте таблицу сравнения. Уточните, что термин fail-safe не совсем корректен — в документации JDK используется weakly consistent.","","junior",[15,16,17],"основы","jcf","concurrency",[],null,{"title":21,"description":22,"ogTitle":23,"ogDescription":24,"keywords":25,"schemaAnswer":34,"featuredSnippetReady":35},"Разница между fail-fast и fail-safe итераторами — Gymterview","Сравнение fail-fast и fail-safe итераторов: ConcurrentModificationException, работа с оригиналом vs копией, примеры CopyOnWriteArrayList и ConcurrentHashMap.","Fail-fast vs fail-safe итераторы в Java — Gymterview","Fail-fast выбрасывает исключение при модификации, fail-safe работает с копией. Сравнение и примеры.",[26,27,28,29,30,31,32,33],"fail-fast","fail-safe","weakly consistent","CopyOnWriteArrayList","ConcurrentHashMap","Iterator","Java","собеседование","Fail-fast итераторы выбрасывают ConcurrentModificationException при модификации коллекции, fail-safe работают с копией\u002Fснимком данных. Примеры fail-safe: CopyOnWriteArrayList, ConcurrentHashMap (weakly consistent).",true]