List和Set
JUC集合中的list和set類如下:
- CopyOnWriteArrayList:相當(dāng)于線程安全的ArrayList煤蚌,實現(xiàn)了List接口,支持高并發(fā)
- CopyOnWriteArraySet:相當(dāng)于線程安全的HashSet积蔚,它繼承于AbstractSet類挺尾,其內(nèi)部是通過CopyOnWriteArrayList來實現(xiàn)的
- ConcurrentSkipListSet:相當(dāng)于線程安全的TreeSet伶唯,它繼承于AbstractSet類骡送,并實現(xiàn)了NavigableSet接口,其內(nèi)部是通過ConcurrentSkipHashMap實現(xiàn)的待笑,支持高并發(fā)
CopyOnWriteArrayList和CopyOnWriteArraySet框架.png
Map
JUC集合中的map的實現(xiàn)類如下:
- ConcurrentHashMap:相當(dāng)于線程安全的HashMap鸣皂,它繼承于AbstractMap類,并且實現(xiàn)ConcurrentMap接口暮蹂。ConcurrentHashMap是通過“分段鎖”來實現(xiàn)并發(fā)的
- ConcurrentSkipListMap:相當(dāng)于線程安全的TreeSet寞缝,它繼承于AbstractSet,并實現(xiàn)了ConcurrentNavigableMap接口仰泻。ConcurrentSkipListMap是通過“跳表”來實現(xiàn)并發(fā)的
JUC之Map框架.png
Queue
JUC集合中Queue的實現(xiàn)類如下:
- ArrayBlockingQueue是數(shù)組實現(xiàn)的線程安全的有界的阻塞隊列
- LinkedBlockingQueue是單向鏈表實現(xiàn)的(指定大小)阻塞隊列荆陆,該隊列按 FIFO(先進(jìn)先出)排序元素。
- LinkedBlockingDeque是雙向鏈表實現(xiàn)的(指定大小)雙向并發(fā)阻塞隊列我纪,該阻塞隊列同時支持FIFO和FILO兩種操作方式慎宾。
- ConcurrentLinkedQueue是單向鏈表實現(xiàn)的無界隊列丐吓,該隊列按 FIFO(先進(jìn)先出)排序元素浅悉。
- ConcurrentLinkedDeque是雙向鏈表實現(xiàn)的無界隊列,該隊列同時支持FIFO和FILO兩種操作方式券犁。
JUC之Queue框架