为什么需要modCount?

在java的集合类中常见的变量modCount,用于记录对象的修改次数,比如增、删、改,也基本存在于非线程安全的集合类中
有一点版本控制的意思,可以理解成version,在特定的操作下需要对version进行检查,适用于Fail-Fast机制。
Fail-Fast 机制
在java的集合类中存在一种Fail-Fast的错误检测机制,当多个线程对同一集合的内容进行操作时,可能就会产生此类异常。

比如当A通过iterator去遍历某集合的过程中,其他线程修改了此集合,此时会抛出ConcurrentModificationException异常。

此类机制就是通过modCount实现的,在迭代器初始化时,会赋值expectedModCount,在迭代过程中判断modCount和expectedModCount是否一致。

你可能感兴趣的:(为什么需要modCount?)