1、concurrentHashMapjava
線程安全版本的hahsmap。你們都知道HashMap的實現是數組鏈的形式,而concurrentHashMap至關於對HashMap的每一個數組進行加鎖,這樣使得線程安全數組
2、CopyOnWriteArrayList安全
2.1 線程安全版本的ArrayList併發
2.2 CopyOnWrite寫的時候複製。當咱們向一個容器中添加元素時,不是直接添加,而是將當前容器Copy出來,而後在新容器裏面添加,添加完成以後,將原容器的引用指向新容器。能夠實現併發的讀。spa
2.3 實現原理.net
寫的時候加鎖,讀的時候不加鎖。線程
2.4 相對於ArrayList線程安全相對於Vector不會出現迭代器異常,提升了效率blog
一、迭代器異常:get
java中,集合在遍歷的時候,若是內部被修改了會拋出java.util.ConcurrentModificationException異常。list和vector都會拋出it
二、快速失敗:(fail-fast)
快速失敗指迭代vector的時候不容許其餘線程修改,否則就不許確了,拋出java.util.ConcurrentModificationException異常。
通俗解釋:就好像有一盤餃子,你要數數有幾個,在你還沒數完,其餘人有放入(或拿走)了幾個餃子。
你就只能從新再數了。原本你數數就很快,可是,就有人比你手更快。
三、提升讀的效率:
由於讀操做沒有加鎖,因此效率很高。
因此此方法適用於讀多寫少修改少的應用場景。
本文適用於對基礎概念研讀過複習使用,若是不少基礎概念都清楚看這些的話可能會雲裏霧裏。
參考連接:https://blog.csdn.net/soundslow/article/details/52198722