原文:死磕 java集合之ConcurrentHashMap源碼分析(一)

開篇問題 ConcurrentHashMap與HashMap的數據結構是否一樣 HashMap在多線程環境下何時會出現並發安全問題 ConcurrentHashMap是怎么解決並發安全問題的 ConcurrentHashMap使用了哪些鎖 ConcurrentHashMap的擴容是怎么進行的 ConcurrentHashMap是否是強一致性的 ConcurrentHashMap不能解決哪些問題 C ...

2019-04-08 23:18 0 611 推薦指數:

查看詳情

java集合ConcurrentHashMap源碼分析(二)——擴容

本章接着上一章,鏈接直達請點我。 初始化桶數組 第一次放元素時,初始化桶數組。 (1)使用CAS鎖控制只有一個線程初始化桶數組; (2)sizeCtl在初始化后存儲的是擴容門檻; (3)擴容門檻寫的是桶數組大小的0.75倍,桶數組大小即map的容量,也就是最多存儲多少個元素 ...

Thu Apr 11 03:00:00 CST 2019 1 484
java集合之ArrayDeque源碼分析

問題 (1)什么是雙端隊列? (2)ArrayDeque是怎么實現雙端隊列的? (3)ArrayDeque是線程安全的嗎? (4)ArrayDeque是有界的嗎? 簡介 雙端隊列是一種特殊 ...

Tue Apr 30 07:17:00 CST 2019 0 485
java集合之HashMap源碼分析

歡迎關注我的公眾號“彤哥讀源碼”,查看更多源碼系列文章, 與彤哥一起暢游源碼的海洋。 簡介 HashMap采用key/value存儲結構,每個key對應唯一的value,查詢和修改的速度都很快,能達到O(1)的平均時間復雜度。它是非線程安全的,且不保證元素存儲的順序; 繼承體系 ...

Tue Apr 02 05:01:00 CST 2019 1 707
java集合之PriorityQueue源碼分析

問題 (1)什么是優先級隊列? (2)怎么實現一個優先級隊列? (3)PriorityQueue是線程安全的嗎? (4)PriorityQueue就有序的嗎? 簡介 優先級隊列,是0個或多個元素的集合集合中的每個元素都有一個權重值,每次出隊都彈出優先級最大或最小的元素。 一般來說 ...

Sun Apr 21 06:23:00 CST 2019 0 484
java集合之LinkedTransferQueue源碼分析

問題 (1)LinkedTransferQueue是什么東東? (2)LinkedTransferQueue是怎么實現阻塞隊列的? (3)LinkedTransferQueue是怎么控制並發安全 ...

Sun Apr 28 02:38:00 CST 2019 0 565
java集合之DelayQueue源碼分析

問題 (1)DelayQueue是阻塞隊列嗎? (2)DelayQueue的實現方式? (3)DelayQueue主要用於什么場景? 簡介 DelayQueue是java並發包下的延時阻塞隊列,常用於實現定時任務。 繼承體系 從繼承體系可以看到,DelayQueue實現 ...

Mon Apr 29 07:33:00 CST 2019 0 1143
java集合之LinkedList源碼分析

問題 (1)LinkedList只是一個List嗎? (2)LinkedList還有其它什么特性嗎? (3)LinkedList為啥經常拿出來跟ArrayList比較? (4)我為什么把Lin ...

Fri May 03 17:20:00 CST 2019 1 598
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM