美文网首页Java并发
JUC中的集合类

JUC中的集合类

作者: 大海孤了岛 | 来源:发表于2017-05-12 14:39 被阅读38次

转载

List和Set

JUC集合中的list和set类如下:

  • CopyOnWriteArrayList:相当于线程安全的ArrayList,实现了List接口,支持高并发
  • CopyOnWriteArraySet:相当于线程安全的HashSet,它继承于AbstractSet类,其内部是通过CopyOnWriteArrayList来实现的
  • ConcurrentSkipListSet:相当于线程安全的TreeSet,它继承于AbstractSet类,并实现了NavigableSet接口,其内部是通过ConcurrentSkipHashMap实现的,支持高并发
CopyOnWriteArrayList和CopyOnWriteArraySet框架.png

Map

JUC集合中的map的实现类如下:

  • ConcurrentHashMap:相当于线程安全的HashMap,它继承于AbstractMap类,并且实现ConcurrentMap接口。ConcurrentHashMap是通过“分段锁”来实现并发的
  • ConcurrentSkipListMap:相当于线程安全的TreeSet,它继承于AbstractSet,并实现了ConcurrentNavigableMap接口。ConcurrentSkipListMap是通过“跳表”来实现并发的
JUC之Map框架.png

Queue

JUC集合中Queue的实现类如下:

  • ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列
  • LinkedBlockingQueue是单向链表实现的(指定大小)阻塞队列,该队列按 FIFO(先进先出)排序元素。
  • LinkedBlockingDeque是双向链表实现的(指定大小)双向并发阻塞队列,该阻塞队列同时支持FIFO和FILO两种操作方式。
  • ConcurrentLinkedQueue是单向链表实现的无界队列,该队列按 FIFO(先进先出)排序元素。
  • ConcurrentLinkedDeque是双向链表实现的无界队列,该队列同时支持FIFO和FILO两种操作方式。
JUC之Queue框架

相关文章

网友评论

    本文标题:JUC中的集合类

    本文链接:https://www.haomeiwen.com/subject/ouwztxtx.html