java-collection
王新春
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
集合的概述
象。它提供了如下功能: 1、增。add()、addAll() 2、删。remove()、 removeAll(),clear() 3、集合熟悉。size() isEmpty, boolean contains(Object o);boolean containsAll(Collection c); 4、覆盖提醒。int hashCode();boolean equals(Object o); 5、与数组相关。Object[] toArray(); T[] toArr原创 2013-04-14 11:59:49 · 96 阅读 · 0 评论 -
源码剖析之CopyOnWriteArrayList
2013-05-20 16:19:29 · 98 阅读 · 0 评论 -
源码剖析之CopyOnWriteArraySet
HashSet 是基于HashMap的实现。 从实现的角度就能看出CopyOnWriteArraySet 的使用条件和list的血缘更近,使用的场景也更近!!它最适合于具有以下特征的应用程序:set 大小通常保持很小,只读操作远多于可变操作,需要在遍历期间防止线程间的冲突。 它是线程安全的。 因为通常需要复制整个基础数组,所以可变操作(add、set 和 remove 等等)的开销很大。 迭代器不支持可变 remove 操作。 使用迭代器进行遍历的速度很快,并且不会与其他线2013-05-20 17:31:15 · 90 阅读 · 0 评论 -
源码分析之 ConcurrentHashMap
2013-05-20 19:57:06 · 94 阅读 · 0 评论 -
ConcurrentModificationException 异常的抛出
2013-05-21 19:05:12 · 115 阅读 · 0 评论 -
源码剖析之ArrayBlockingQueue
那么阻塞。2、是实现生产者消费者模型的极好的备选工具。实现依赖:[b]1、lock锁(内存的可见性、互斥访问、限制编译器的代码优化调整)2、Condition条件通知(线程间的协作)[/b]注意点:代码中多次用的signal 而不是signalAll 有原因的:1、signalAll 唤醒所有等待的线程,事实上只能有一个通过获得锁,那么会增加锁竞争的几率。效率也低,如果用signal ,那么仅唤醒一个线程,这正是我们所需要的场景!为了看清楚ArrayBlockin2013-06-05 23:36:30 · 124 阅读 · 0 评论 -
CopyOnWriteArrayList再续
2015-03-21 12:25:30 · 86 阅读 · 0 评论
分享