Fail-fast 和 Fail-safe 机制
fail-fast 和 fail-safe 的区别
从字面意思来看 fail-fast
是快速失败,fail-safe
是安全失败,这都是集合类对于并发读写时的一种应对机制。
fail-fast
,广泛应用于java.util
下的集合类中,其机制为在使用迭代器遍历的过程中,如果此时集合对象的结构被改变(即插入、删除元素时,modCount
的值发生变化。替换元素的值不会发生改变)后,会抛出ConcurrentModificationException
(并发修改异常)的异常。这是一种不支持并发读写的机制,优点是不会在遍历时额外消耗资源;且保证读到的数据时最新的数据。fail-safe
,广泛应用于java.concurrent
下的集合类中,其机制为在使用迭代器遍历时,会创建一个此时集合的视图来供遍历,而不是在源数据上进行遍历,所以在遍历时如果集合对象的结构被改变,不会抛出异常。这是一种支持并发读写的机制,缺点是每次遍历时都会创建视图,会消耗更多的资源;且很有可能读不到最新的值。
Fail-fast 和 Fail-safe 机制相关推荐
- 什么是Fail Fast和Fail Safe?
这里是目录标题 1. Fail Fast a. 概念 b. 原理 c. 关注点 d. 注意 2. Fail Safe a. 概念 b. 原理 3. Fail Fast 和 Fail Safe的区别 1 ...
- Fail Fast与Fail Safe的区别
Fail Fast Fail Fast Iterator在遍历集合时,若该集合发生了结构性的改变,则将抛出 ConcurrentModification 异常.例如: Map<String, S ...
- Java - Java集合中的安全失败Fail Safe机制 (CopyOnWriteArrayList)
文章目录 Pre 概述 fail-safe的容器-CopyOnWriteArrayList add remove函数 例子 缺陷 使用场景 Pre Java - Java集合中的快速失败Fail Fa ...
- Java - Java集合中的快速失败Fail Fast 机制
文章目录 什么是 fail-fast 源码解读 Itr 为什么对集合的结构进行修改会发生并发修改异常-源码分析 修改方法之 remove 修改方法之 add 案例分享 [案例一] [案例二] [案例三 ...
- 聊聊hikari与tomcat jdbc pool的fail fast
序 本文主要研究在中途数据库挂的情况下,hikari与tomcat jdbc pool的fail fast情况. 实验代码 @Testpublic void testDatabaseDownAndUp ...
- 【转载】ArrayList 中数据删除 fail fast
2019独角兽企业重金招聘Python工程师标准>>> 本文转载自http://shift-alt-ctrl.iteye.com/blog/1839147 在循环arrayLlist ...
- 【springcloud问题】Could not locate PropertySource and the fail fast property is set, failing
问题描述:使用springcloud的本地配置中心时出现:Could not locate PropertySource and the fail fast property is set, fail ...
- redis集群节点宕机 fail状态 redis的投票机制实测
redis集群节点宕机 fail状态 redis的投票机制实测 redis集群是有很多个redis一起工作,那么就需要这个集群不是那么容易挂掉,所以呢,理论上就应该给集群中的每个节点至少一个备用的r ...
- 【android录屏填坑】录屏报错start fail,stop fail
先写个标题,有时间了填充内容. 时隔N天,终于忙完了.内容填充中-- 前言 为什么要写这么一篇文章.因为我最近做录屏实在是被坑哭了.不是遇到start fail报错,就是遇到stop fail报错,这 ...
- Fail - Fast机制
平常在使用集合的时候肯定会遇到过遍历删除集合中的某些元素,哪么在进行操作的时候大家有 没有遇到过什么问题呢?最近在使用集合进行遍历删除元素的时候,我就碰到了这个异常:java.util.Concurr ...
最新文章
- 关于机器学习模型的可解释性算法!
- 【翻译】SQL Server索引进阶:第三级,聚集索引
- 任务管理平台_基于notion详谈任务规划的思路(二):搭建任务管理平台
- SAP Hybris Commerce里类似ABAP里的透明表设计
- java 拆箱_Java自动装箱拆箱
- python sort dict 总结
- 星云链智能合约开发(六):智能合约开发与部署
- Struts分页的一个实现
- php字库,TCPDF生成内置字库的PDF
- 配置文件(properties类)
- 再次盈利的芒果超媒,下一步剑指电商
- 迅雷种子为什么php文件后缀,迅雷BT文件后缀是什么?
- 群晖 Docker Gitlab 安装 及 https配置
- Linux--基础知识点--4.1--vim寄存器
- PDF加密如何加密?分享两个方法给你
- nodejs调用java的jar包进行PPT转pdf
- 打造在线简历生成器,让面试官眼前一亮……
- 图像超分:HAN(Single Image Super-Resolution via a Holistic Attention Network)
- 一、什么是JavaWeb?
- MetaMask轻钱包教程 修心手把手带你玩小狐狸 钱包小白必备非原创