學習Java: CopyOnWrite集合
CopyOnWrite集合避免了在獲取集合的iterator後,進行操作集合發生錯誤的情況[@more@]
CopyOnWriteArray集合有2個: CopyOnWriteArrayList 和 CopyOnWriteArraySet, 最適合於讀操作通常大大超過寫操作的情況
------------------------------------------------------------------
copy-on-write 模式:
實質上,這個模式宣告瞭,為了維護物件的一致性快照,要依靠不可變性(immutability)來消除在協調讀取不同的但是相關的屬性時需要的同步。對於集合,這意味著如果有大量的讀(即 get() ) 和迭代,不必同步操作以照顧偶爾的寫(即 add() )呼叫.
----------------------------------------------------------
CopyOnWriteArrayList
和 CopyOnWriteArraySet
類,所有可變的(mutable)操作都首先取得後臺陣列的副本,對副本進行更改,然後替換副本。這種做法保證了在遍歷自身更改的集合時,永遠不會丟擲
ConcurrentModificationException 。遍歷集合會用原來的集合完成,而在以後的操作中使用更新後的集合。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/855/viewspace-960631/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java集合框架學習Java框架
- Java 中的 CopyOnWriteJava
- JAVA學習知識集合Java
- Java 集合學習筆記Java筆記
- Java 學習資料集合Java
- Java集合學習總結Java
- Java集合學習記錄——IteratorJava
- java學習(七) —— API集合類JavaAPI
- Java集合類學習總結Java
- 【Java學習筆記】Collections集合Java筆記
- Java集合原始碼學習(2)ArrayListJava原始碼
- Java集合原始碼學習(1)介面Java原始碼
- java集合學習(一):詳解ArrayListJava
- Java集合原始碼學習(4)HashSetJava原始碼
- Java集合原始碼學習(5)HashMapJava原始碼HashMap
- JAVA集合:常見Set原始碼學習Java原始碼
- Java集合原始碼學習(3)LinkedListJava原始碼
- Java中的Map集合學習筆記Java筆記
- Java入門學習-深入理解集合Java
- Java學習--java中的集合框架、Collection介面、list介面Java框架
- java併發面試常識之copyonwriteJava面試
- java學習筆記#3-異常/集合Java筆記
- CopyOnWrite容器
- Java Map集合練習Java
- Java進階學習之集合與泛型(1)Java泛型
- Redis有序集合學習Redis
- redis學習之有序集合Redis
- Scala集合學習總結
- 學習Rust 集合與字串Rust字串
- Java學習關於集合框架的基礎介面--Collection介面Java框架
- java基礎學習之九:集合型別Set/List/MapJava型別
- 傳智黑馬java基礎學習——day20(集合Map)Java
- JAVA基礎 練習-13-ArrayList集合學生物件遍歷Java物件
- Java學習之集合框架的迭代器--Iteratorjk及ListItertor介面Java框架
- Java複習筆記第二篇--集合學習之實現原理二Java筆記
- Python學習之set集合Python
- 學習筆記 07 --- JUC集合筆記
- 集合框架學習之List介面框架