Queue 与 List
2016-07-06 10:40
309 查看
Queue 和 BlockingQueue。Queue 接口与 List 类似,但它只允许从后面插入,从前面删除。通过消除 List 的随机访问要求,可以创建比现有 ArrayList 和 LinkedList 实现性能更好的 Queue 实现。因为 List 的许多应用程序实际上不需要随机访问,所以Queue 通常可以替代 List,来获得更好的性能。
java.util 包中的集合类都返回 fail-fast 迭代器,这意味着它们假设线程在集合内容中进行迭代时,集合不会更改它的内容。
Vector 的迭代线程必须复制列表或锁定列表,以便进行整体迭代,而这两种情况都需要大量的性能成 本。CopyOnWriteArrayList 类通过每次添加或删除元素时创建支持数组的新副本,避免了这个问题.
ConcurrentHashMap 允许多个读取几乎总是并发执行,读和写操作通常并发执行,多个同时写入经常并发执行。结果是当多个线程需要访问同一 Map 时,可以获得更高的并发性。
java.util 包中的集合类都返回 fail-fast 迭代器,这意味着它们假设线程在集合内容中进行迭代时,集合不会更改它的内容。
Vector 的迭代线程必须复制列表或锁定列表,以便进行整体迭代,而这两种情况都需要大量的性能成 本。CopyOnWriteArrayList 类通过每次添加或删除元素时创建支持数组的新副本,避免了这个问题.
ConcurrentHashMap 允许多个读取几乎总是并发执行,读和写操作通常并发执行,多个同时写入经常并发执行。结果是当多个线程需要访问同一 Map 时,可以获得更高的并发性。
相关文章推荐
- EditText实现搜索框常见需求详解(配合软键盘的应用和模拟搜索List结果集)
- iOS UITableView(UIScrollView)滑动到底部的判断
- 【URAL 1917】Titan Ruins: Deadly Accuracy(DP)
- Warnings : Aggregation query used without partition key
- 【UOJ #209】【UER #6】票数统计
- HDU 5297 Y sequencew(容斥+收敛迭代)
- loadonce:true后trigger("reloadGrid")无效
- cdq分治 -- CF edu13 F Lena and Queries
- Xamarin提示Build-tools版本过老
- Xamarin提示Build-tools版本过老
- IOS代码笔记UIView的placeholder的效果
- VideoJS live RTMP stream, player and video size issue
- android.uid.system和sdcard
- ueditor搭建图片服务器
- 大话 IQueryable和IEnumberable and IList与Lis t区别
- Android开发-个推(getui)透传推送实战项目应用(一)个推注册与官方Demo
- Android开发-个推(getui)透传推送实战项目应用(一)个推注册与官方Demo
- easyui 学习(2) --tree
- APUE 输入输出:不带缓冲的I /O
- APUE 1-3程序,列出一个目录中的所有文件