您当前的位置:首页 > 计算机 > 编程开发 > Java

2.11. fail-fast 与 fail-safe 区别

时间:12-14来源:作者:点击数:
CDSY,CDSY.XYZ

Iterator 的 fail-fast 属性与当前的集合共同起作用,因此它不会受到集合中任何改动的影响。Java.util 包中的所有集合类都被设计为 fail-fast 的,而 java.util.concurrent 中的集合类都为 fail-safe 的。

  • Fall—fast 迭代器抛出 ConcurrentModificationException,
  • fall—safe 迭代器从不抛出 ConcurrentModificationException。
  • Iterator 的安全失败是基于对底层集合做拷贝,因此,它不受源集合上修改的影响。

java.util 包下面的所有的集合类都是快速失败的,而 java.util.concurrent 包下面的所有的类都是安全失败的。快速失败的迭代器会抛出 ConcurrentModificationException 异常,而安全失败的迭代器永远不会抛出这样的异常。

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐