JAVA 笔记 CopyOnWriteArrayList
摘要:
在写代码时遇到了一个ConcurrentModificationException异常,百度了下发现是因为在使用Iterator遍历时原数据发生了变化导致的。业务的需求如下: 有一个数据监听器列表,当系统收到数据时遍历列表中的每一项并发送数据。当遍历的过程中有可以会新增或删除相应的监听器。 这种情况下可以使用CopyOnWriteArrayList 来实现监听器列表。 原理如下: JAVA中将引用从一个对象移到另外一个对象不需要消耗CPU时间,可以看做是一个原子操作。 JAVA中如果一个对象仍旧存在引用,则不会被CG回收。 CopyOnWriteArrayList就是根... 阅读全文
posted @ 2012-04-13 16:42 心笑峰 阅读(1712) 评论(1) 推荐(0) 编辑