
java-collection
iteye_5504
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
源码剖析之CopyOnWriteArrayList
CopyOnWriteArrayList:jdk1.5新增的线程安全的ArrayList实现。[b]使用场景:读取频繁,写较少。理由:底层的安全性 本质上是依赖于线程读取的数据副本来实现的。因此每次写都是要复制底层数组数据的,如果写频繁势必会造成大量的性能消耗。如果写非常频繁,那么可以根据实际情况选择:vector 或者Collections.synchronizedList获取同...2013-05-20 16:19:29 · 87 阅读 · 0 评论 -
源码剖析之CopyOnWriteArraySet
CopyOnWriteArraySet :是基于CopyOnWriteArrayList 的实现。只是在添加之前先判断是否已经存储相关记录。注意:此Set的实现和普通的HashSet 已经相差甚远了。HashSet 是基于HashMap的实现。 从实现的角度就能看出CopyOnWriteArraySet 的使用条件和list的血缘更近,使用的场景也更近!!它最适合于具有以下特...2013-05-20 17:31:15 · 111 阅读 · 0 评论 -
源码分析之 ConcurrentHashMap
关于hash[url]https://www.oschina.net/translate/how-to-implement-javas-hashcode-correctly[/url]jdk提供的线程安全的类似HashMap实现的数据结构:ConcurrentHashMap[b]功能特点:[/b]1、具备HashMap的一般规范,和HashMap的基本实现原理一致。(底层数...2013-05-20 19:57:06 · 88 阅读 · 0 评论 -
ConcurrentModificationException 异常的抛出
ConcurrentModificationException 异常是使用java集合类经常抛出的一种异常。这种异常常被描述为:快速失败异常,一般是我们程序错误使用导致的,很少会故意允许这种异常发生已保证逻辑上的完整。那下面讨论什么时候会发生这种异常呢? 以ArrayList为例!1、单线程中,一边遍历(forEach 和 list.iterator()),一遍删增数据。...2013-05-21 19:05:12 · 126 阅读 · 0 评论 -
源码剖析之ArrayBlockingQueue
ArrayBlockingQueue 是jdk1.5 新提供的阻塞队列,实现了固定大小的队列。功能:1、阻塞的效果 。put时如果元素已经满,那么阻塞,get时 如果队列为空,那么阻塞。2、是实现生产者消费者模型的极好的备选工具。实现依赖:[b]1、lock锁(内存的可见性、互斥访问、限制编译器的代码优化调整)2、Condition条件通知(线程间的协作)[/b]...2013-06-05 23:36:30 · 106 阅读 · 0 评论 -
CopyOnWriteArrayList再续
相关文章[url]http://wangxinchun.iteye.com/blog/1872212[/url]CopyOnWriteArrayList 适合读频繁,写不频繁的情况,最重要的是如果list中的数据量非常大,请不要使用这个,那在写的时候复制到代价将会非常大。这时可以考虑使用Vector 或者collections.synchronizedlist 。但是这样读...2015-03-21 12:25:30 · 91 阅读 · 0 评论