Trung BìnhJava iconJava

Fail-fast và fail-safe iterator khác nhau thế nào?

Fail-fast iterator (ArrayList, HashMap) ném ConcurrentModificationException nếu collection bị thay đổi trong khi đang duyệt. CopyOnWriteArrayList là fail-safe thật sự — iterator làm việc trên snapshot copy, không ném exception nhưng không thấy thay đổi mới. ConcurrentHashMap iterator là "weakly-consistent" — không ném exception, có thể thấy một số (nhưng không bắt buộc tất cả) thay đổi xảy ra sau khi iterator được tạo.

Phân biệt: fail-safe = snapshot (CopyOnWriteArrayList), weakly-consistent = không throw nhưng không phải snapshot (ConcurrentHashMap).

Xem toàn bộ Java cùng filter theo level & chủ đề con.

Mở danh sách Java