Queue 与 List

来源:互联网 发布:好看的超能力美剧 知乎 编辑:程序博客网 时间:2024/05/21 21:57

Queue 和 BlockingQueue。Queue 接口与 List 类似,但它只允许从后面插入,从前面删除。通过消除 List 的随机访问要求,可以创建比现有 ArrayList 和 LinkedList 实现性能更好的 Queue 实现。因为 List 的许多应用程序实际上不需要随机访问,所以Queue 通常可以替代 List,来获得更好的性能。

java.util 包中的集合类都返回 fail-fast 迭代器,这意味着它们假设线程在集合内容中进行迭代时,集合不会更改它的内容。

Vector 的迭代线程必须复制列表或锁定列表,以便进行整体迭代,而这两种情况都需要大量的性能成 本。CopyOnWriteArrayList 类通过每次添加或删除元素时创建支持数组的新副本,避免了这个问题.

ConcurrentHashMap 允许多个读取几乎总是并发执行,读和写操作通常并发执行,多个同时写入经常并发执行。结果是当多个线程需要访问同一 Map 时,可以获得更高的并发性。

0 0
原创粉丝点击