先说结论:在用for遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除),则会抛出ConcurrentModificationException。在单线程下用迭代器遍历修改,则不会报错。在多线程环境下则会报错。 原理:迭代器在遍历时直接访问集合中的内容, ...
分类:
编程语言 时间:
2018-06-21 21:11:08
阅读次数:
303
ArrayDeque是java中对双端队列的线性实现 一.特性 1. 无容量大小限制,容量按需增长; 2. 非线程安全队列,无同步策略,不支持多线程安全访问; 3. 当用作栈时,性能优于Stack,当用于队列时,性能优于LinkedList 4. 两端都可以操作 5. 具有fail fast特征 6 ...
分类:
其他好文 时间:
2018-05-24 01:11:44
阅读次数:
266
fail fast & 12288;& 12288;fail fast机制是java集合中的一种错误机制。当多个线程对统一集合的内容进行操作时,就可能会产生fail fast事件。 & 122888;& 12288;当某一个线程通过iterator遍历某个集合时,该集合的线程被其他线程改变了,就会抛 ...
分类:
编程语言 时间:
2018-04-16 13:01:10
阅读次数:
161
1 fail-fast简介 fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时 ...
分类:
编程语言 时间:
2018-03-10 17:49:42
阅读次数:
178
基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别 get 和 ...
分类:
编程语言 时间:
2018-01-23 11:03:07
阅读次数:
307
基本概念 java学习群669823128 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-sa ...
分类:
编程语言 时间:
2017-12-07 20:47:51
阅读次数:
157
基本概念 java学习群669823128 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-sa ...
分类:
编程语言 时间:
2017-12-06 14:23:16
阅读次数:
170
基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别 get 和 ...
分类:
编程语言 时间:
2017-11-14 17:48:27
阅读次数:
239
Iterator与ListIterator 相同点:(1)两者都是fail-fast机制,都是作为内部类实现的。 区别:二者的区别主要是功能上的; (1)Iterator实现了接口Iterator,属性有cursor(下一个要遍历的元素索引),lastRest(上一个遍历元素的索引), 方法有,ha ...
分类:
其他好文 时间:
2017-11-14 17:47:15
阅读次数:
175
基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别 get 和 ...
分类:
编程语言 时间:
2017-11-13 18:35:02
阅读次数:
245