ConcurrentModificationException 은 어디서, 언제 throw 되는걸까?
2023. 4. 12. 19:40
Java
Java 개발을 한 사람들이라면 ConcurrentModificationException 에 대해 들어보았을 것이다. Collection에서 순회중, 데이터의 조작이 발생하는 경우 ( 이름만 보면 분명 Concurrent 인데 멀티스레드가 아닌 단일 스레드 환경 에서도 해당 예외가 발생한다. ) thread가 간섭 하면서 발생 이라고 흔히들 알고 있을 것 같다. 오늘은 대체 이 ConcurrentModificationException 이 내부적으로 어떤 로직에 의해 throw 되는 것인지 알아보기로 했다. ConcurrentModificationException 발생 시켜 보기 내부적으로 Iterator 를 사용하는 코드가 존재하는 경우 발생하게 된다. 가장 흔하게 볼 수 있는 것은 이미 해당 Colle..