美文网首页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