Java ConcurrentHashMap中的故障安全迭代器

Java ConcurrentHashMap中的故障安全迭代器,java,collections,Java,Collections,CopyOnWriteArrayList和ConcurrentHashMap中的迭代器都是故障安全的,不会抛出CME 在CopyOnWriteArrayList中,迭代器基于 原始底层数组。因此这里的迭代器是故障安全的,也是线程安全的 用于CopyOnWriteArrayList的Javadcos清楚地说明了术语快照 “快照”样式的迭代器方法使用对 迭代器创建点处的数组。这个数组永远不会 在迭代器的生命周期内发生更改,因此不会出现干扰 不可能,迭代器保证不会抛出 ConcurrentModifi

CopyOnWriteArrayList
ConcurrentHashMap
中的迭代器都是故障安全的,不会抛出CME

CopyOnWriteArrayList
中,迭代器基于 原始底层数组。因此这里的迭代器是故障安全的,也是线程安全的

用于
CopyOnWriteArrayList
的Javadcos清楚地说明了术语快照

“快照”样式的迭代器方法使用对 迭代器创建点处的数组。这个数组永远不会 在迭代器的生命周期内发生更改,因此不会出现干扰 不可能,迭代器保证不会抛出 ConcurrentModificationException

如果是
ConcurrentHashMap
迭代器,它是否也基于原始基础映射的快照构建

谢谢…

不一定-cf:

类似地,迭代器和枚举返回反映哈希表在迭代器/枚举创建时或创建之后某个点的状态的元素

如果查看
入口集
键集
方法:

视图的迭代器[…]保证遍历迭代器构造时存在的元素,并且可能(但不保证)反映构造之后的任何修改