在迭代遍历线程不安全的集合的时候,如ArrayList,如果其他线程修改了该集合,那么将抛出ConcurrentModificationException,这就是 fail-fast 策略. modCount记录了集合的修改次数,在迭代器初始化过程种会将这个值赋给迭代器的expectedModCount,在迭代过程中判断modCount是否和exceptedModCount相等,如果其他线程在这过程中修改了modCount,势必modCount!=exceptedModCount.比如,删除元素…