Linux学习笔记――find命令
2016-01-02 18:01
260 查看
接着上篇文章给出的Java在JDK1.2之后在java.util包中给出的集合类/容器类以及数组的应用整理。也考虑和讨论了并发一致性的问题。
其实在高并发的情况下,仅仅靠java.util包中提供的最基本的容器往往不能满足具体应用场景的需求。
在JavaSE5之后,也就是JDK1.5出来之后,在java.util.concurrent包中又提供了很多并发场景下方便使用的容器/集合工具类。这其中包括CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentHashMap、ConcurrentLinkedQueue、BlockingQueue等。
在CopyOnWriteArrayList中为了保证数据一致性,每当有新的改变的时候,会利用写时拷贝(Copy On Write),复制出一份新的List出来。而已经使用旧的拷贝的引用的,还会继续使用旧的。
同时为了保证并发情况下的执行效率,像ConcurrentHashMap中还用到了Segment进行分段,减小了锁粒度,提高了并发性。
BlockingQueue及其具体的各种实现类,则保证了队列为空时消费者的阻塞和队列为满时生产者的阻塞,在“生产者-消费者”模式下得到了广泛的应用。
ConcurrentLinkedQueue是旨在大并发量情况下,维持队列的基本功能,保持性能的工具类。
接着上篇,在本人的小站上,对Java的并发容器类/集合类进行了一些分析和整理,包括用法要点和源码分析。下面列表中的文章主要是考虑并发的情况下,对java.util.concurrent包中的容器类/集合类工具的分析整理:
CopyOnWriteArrayList源码分析整理
ConcurrentHashMap源码分析整理
ConcurrentLinkedQueue源码分析整理
BlockingQueue及其各个实现的分析整理
欢迎大家阅读并拍砖,谢谢!
其实在高并发的情况下,仅仅靠java.util包中提供的最基本的容器往往不能满足具体应用场景的需求。
在JavaSE5之后,也就是JDK1.5出来之后,在java.util.concurrent包中又提供了很多并发场景下方便使用的容器/集合工具类。这其中包括CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentHashMap、ConcurrentLinkedQueue、BlockingQueue等。
在CopyOnWriteArrayList中为了保证数据一致性,每当有新的改变的时候,会利用写时拷贝(Copy On Write),复制出一份新的List出来。而已经使用旧的拷贝的引用的,还会继续使用旧的。
同时为了保证并发情况下的执行效率,像ConcurrentHashMap中还用到了Segment进行分段,减小了锁粒度,提高了并发性。
BlockingQueue及其具体的各种实现类,则保证了队列为空时消费者的阻塞和队列为满时生产者的阻塞,在“生产者-消费者”模式下得到了广泛的应用。
ConcurrentLinkedQueue是旨在大并发量情况下,维持队列的基本功能,保持性能的工具类。
接着上篇,在本人的小站上,对Java的并发容器类/集合类进行了一些分析和整理,包括用法要点和源码分析。下面列表中的文章主要是考虑并发的情况下,对java.util.concurrent包中的容器类/集合类工具的分析整理:
CopyOnWriteArrayList源码分析整理
ConcurrentHashMap源码分析整理
ConcurrentLinkedQueue源码分析整理
BlockingQueue及其各个实现的分析整理
欢迎大家阅读并拍砖,谢谢!
相关文章推荐
- Linux各目录的作用
- 【Linux学习笔记】常用命令速记
- [grub实现]U盘引导多个linux镜像安装,同时支持BIOS和UEFI模式
- linux ll 命令各列的含义
- 在CentOS 6.6 64bit上升级GCC到4.8.2版本
- java在linux上创建文件/文件夹
- Linux下dpkg命令的使用
- 在CentOS 6.6 64bit上安装vim智能补全插件YouCompleteMe
- linux学习之:grub的应用
- CentOS 6.5上inotify-tools使用方法
- 安装Linux后(用做开发环境)的配置(Lnmp和Android)
- Linux Ruijie登录命令
- 细说grep命令
- Linux系统管理 博客作业 (一) LVM
- grub应用+小linux系统初步
- CentOS7下mysql安装整理
- Vmware 虚拟机Centos6.7 32位系统安装OpenFOAM-3.0.x(一)
- CentOS 系统启动流程
- Linux_note 源码编译安装./config 、make 、make install
- Linux_note yum工具