List和Set
JUC集合中的list和set類如下:
- CopyOnWriteArrayList:相當(dāng)于線程安全的ArrayList,實(shí)現(xiàn)了List接口,支持高并發(fā)
- CopyOnWriteArraySet:相當(dāng)于線程安全的HashSet,它繼承于AbstractSet類,其內(nèi)部是通過CopyOnWriteArrayList來實(shí)現(xiàn)的
- ConcurrentSkipListSet:相當(dāng)于線程安全的TreeSet,它繼承于AbstractSet類,并實(shí)現(xiàn)了NavigableSet接口,其內(nèi)部是通過ConcurrentSkipHashMap實(shí)現(xiàn)的,支持高并發(fā)

CopyOnWriteArrayList和CopyOnWriteArraySet框架.png
Map
JUC集合中的map的實(shí)現(xiàn)類如下:
- ConcurrentHashMap:相當(dāng)于線程安全的HashMap,它繼承于AbstractMap類,并且實(shí)現(xiàn)ConcurrentMap接口。ConcurrentHashMap是通過“分段鎖”來實(shí)現(xiàn)并發(fā)的
- ConcurrentSkipListMap:相當(dāng)于線程安全的TreeSet,它繼承于AbstractSet,并實(shí)現(xiàn)了ConcurrentNavigableMap接口。ConcurrentSkipListMap是通過“跳表”來實(shí)現(xiàn)并發(fā)的

JUC之Map框架.png
Queue
JUC集合中Queue的實(shí)現(xiàn)類如下:
- ArrayBlockingQueue是數(shù)組實(shí)現(xiàn)的線程安全的有界的阻塞隊(duì)列
- LinkedBlockingQueue是單向鏈表實(shí)現(xiàn)的(指定大小)阻塞隊(duì)列,該隊(duì)列按 FIFO(先進(jìn)先出)排序元素。
- LinkedBlockingDeque是雙向鏈表實(shí)現(xiàn)的(指定大小)雙向并發(fā)阻塞隊(duì)列,該阻塞隊(duì)列同時(shí)支持FIFO和FILO兩種操作方式。
- ConcurrentLinkedQueue是單向鏈表實(shí)現(xiàn)的無界隊(duì)列,該隊(duì)列按 FIFO(先進(jìn)先出)排序元素。
- ConcurrentLinkedDeque是雙向鏈表實(shí)現(xiàn)的無界隊(duì)列,該隊(duì)列同時(shí)支持FIFO和FILO兩種操作方式。

JUC之Queue框架