您的位置:首页 > 运维架构 > Linux

Linux学习笔记――find命令

2016-01-02 18:01 260 查看
接着上篇文章给出的Java在JDK1.2之后在java.util包中给出的集合类/容器类以及数组的应用整理。也考虑和讨论了并发一致性的问题。

 

其实在高并发的情况下,仅仅靠java.util包中提供的最基本的容器往往不能满足具体应用场景的需求。

 

在JavaSE5之后,也就是JDK1.5出来之后,在java.util.concurrent包中又提供了很多并发场景下方便使用的容器/集合工具类。这其中包括CopyOnWriteArrayListCopyOnWriteArraySetConcurrentHashMapConcurrentLinkedQueueBlockingQueue等。

 

在CopyOnWriteArrayList中为了保证数据一致性,每当有新的改变的时候,会利用写时拷贝(Copy On Write),复制出一份新的List出来。而已经使用旧的拷贝的引用的,还会继续使用旧的。

 

同时为了保证并发情况下的执行效率,像ConcurrentHashMap中还用到了Segment进行分段,减小了锁粒度,提高了并发性。

 

BlockingQueue及其具体的各种实现类,则保证了队列为空时消费者的阻塞和队列为满时生产者的阻塞,在“生产者-消费者”模式下得到了广泛的应用。

 

ConcurrentLinkedQueue是旨在大并发量情况下,维持队列的基本功能,保持性能的工具类。

 

接着上篇,在本人的小站上,对Java的并发容器类/集合类进行了一些分析和整理,包括用法要点和源码分析。下面列表中的文章主要是考虑并发的情况下,对java.util.concurrent包中的容器类/集合类工具的分析整理:

 

CopyOnWriteArrayList源码分析整理

ConcurrentHashMap源码分析整理

ConcurrentLinkedQueue源码分析整理

BlockingQueue及其各个实现的分析整理

欢迎大家阅读并拍砖,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: