码迷,mamicode.com
首页 >  
搜索关键字:fail-fast    ( 83个结果
HashMap 源码分析
类注释 线程不安全,出现并发问题会 fail fast,并发需要用 Collections.synchronizedMap 包裹起来 顺序不按照插入顺序 hashcode 分散均匀很重要 hashcode 分散不均匀,Compareble 来补充 capacity、load factor 参数很重要 ...
分类:其他好文   时间:2019-02-26 00:55:39    阅读次数:131
Java集合详解3:Iterator,fail-fast机制与比较器
Java集合详解3:Iterator,fail-fast机制与比较器 今天我们来探索一下LIterator,fail-fast机制与比较器的源码。 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 喜欢的话麻烦star一下哈 文章首发于我的个人博客: ...
分类:编程语言   时间:2019-02-08 20:18:22    阅读次数:186
java基础:那些模糊的java概念
本篇旨在收集一些看似简单,但是很难阐述清楚的java基础问题,巩固基础,温故知新 1.快速失败(fail-fast)和安全失败(fail-safe)? 一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concur ...
分类:编程语言   时间:2019-01-17 17:40:47    阅读次数:202
fail-fast与fail-safe
java.util包下面所有的集合类都是快速失败的,而java.util.concurrent包下面的所有类都是安全失败的。快速失败的迭代器会抛出ConcurrentModificationException,而安全失败的迭代器永远不会抛出这样的异常。代码示例:/* * @desc java集合中F ...
分类:其他好文   时间:2018-12-26 20:58:39    阅读次数:173
Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例
概要 前面,我们已经学习了ArrayList,并了解了fail-fast机制。这一章我们接着学习List的实现类——LinkedList。和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码;最后再通过实例来学会使用LinkedList。内容包括:第1 ...
分类:编程语言   时间:2018-12-19 01:13:08    阅读次数:258
java并发:CopyOnWriteArrayList简单理解
Java集合的快速失败机制 “fail-fast” "fail-fast"是java集合的一种错误检测机制,当多个线程对集合进行结构上的改变的操作时,有可能会产生 fail-fast 机制。 例如:假设存在两个线程(线程1、线程2),线程1通过Iterator在遍历集合A中的元素,在某个时候线程2修 ...
分类:编程语言   时间:2018-12-12 00:41:00    阅读次数:200
高并发下,HashMap会产生哪些问题?
HashMap在高并发环境下会产生的问题 HashMap其实并不是线程安全的,在高并发的情况下,会产生并发引起的问题: 比如: HashMap死循环,造成CPU100%负载 触发fail fast 下面逐个分析下出现上述情况的原因: HashMap死循环的原因 HashMap进行存储时,如果size ...
分类:其他好文   时间:2018-09-07 20:13:18    阅读次数:247
通过ArrayList对modCount的操作分析fail-fast 机制
AbstractList类中有一个属性 protected transient int modCount = 0; api中对它的描述是: 此列表已被结构修改的次数。 结构修改是改变列表大小的那些修改,或以其他方式扰乱它,使得正在进行的迭代可能产生不正确的结果。 该字段由迭代器和列表迭代器实现使用, ...
分类:其他好文   时间:2018-09-05 18:08:25    阅读次数:205
java.util.Collection的fail-fast机制
fail-fast机制是java集合(Collection)中的一种错误机制。fail-fast如何产生:1.多个线程同时操作同一个collectionpublicstaticList<String>list=newArrayList<String>();publicstaticvoidmain(String[]args){newThread(newRunnable(){@
分类:编程语言   时间:2018-08-16 15:41:56    阅读次数:118
面试题思考:java中快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?
一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集 ...
分类:编程语言   时间:2018-07-29 22:16:30    阅读次数:152
83条   上一页 1 2 3 4 5 ... 9 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!