为什么需要modCount?

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

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

此类机制就是通过modCount实现的,在迭代器初始化时,会赋值expectedModCount,在迭代过程中判断modCount和expectedModCount是否一致。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容