Java併發包內容學習
1.Vector 和ArrayList區別。
vector是執行緒安全的,ArrayList不安全,但是ArrayList速度快。
2.hashtable 和hashmap 區別
hashtable是執行緒安全的,hashmap不安全,但是hashmap速度快。
3.concurrenthashmap 原理分析
concurrenthashmap
利用分段鎖來實現提高效率的,分段鎖預設分成16段,就是吧一個整體的資料分成多個hashtable,
然後多執行緒讀取資料直接讀取屬於自身執行緒的小的hashtable
每個hashtable用的不是一把鎖,這樣就能提高效率
,如果兩個執行緒都是在讀取的一個區間,那麼還是會出現等待現象。
相關推薦
Java併發包內容學習
1.Vector 和ArrayList區別。 vector是執行緒安全的,ArrayList不安全,但是ArrayList速度快。 2.hashtable 和hashmap 區別 hashtable是執行緒安全的,hashmap不安全,但是hashmap速度快。 3.co
Java併發包原始碼學習之執行緒池(一)ThreadPoolExecutor原始碼分析
Java中使用執行緒池技術一般都是使用Executors這個工廠類,它提供了非常簡單方法來建立各種型別的執行緒池: public static ExecutorService newFixedThreadPool(int nThreads) public static ExecutorService
Java併發包原始碼學習之AQS框架(二)CLH lock queue和自旋鎖
上一篇文章提到AQS是基於CLH lock queue,那麼什麼是CLH lock queue,說複雜很複雜說簡單也簡單, 所謂大道至簡: CLH lock queue其實就是一個FIFO的佇列,佇列中的每個結點(執行緒)只要等待其前繼釋放鎖就可以了。 AbstractQueuedSynchronizer
Java併發包原始碼學習之AQS框架(四)AbstractQueuedSynchronizer原始碼分析
經過前面幾篇文章的鋪墊,今天我們終於要看看AQS的廬山真面目了,建議第一次看AbstractQueuedSynchronizer 類原始碼的朋友可以先看下我前面幾篇文章: 分析原始碼是非常枯燥乏味的一件事,其實程式碼本身其實就是最好的說明了,因此基本都是貼出一些程式碼加上一些註釋, 因為Abstract
Java併發包原始碼學習之AQS框架(一)概述
AQS其實就是java.util.concurrent.locks.AbstractQueuedSynchronizer這個類。 閱讀Java的併發包原始碼你會發現這個類是整個java.util.concurrent的核心之一,也可以說是閱讀整個併發包原始碼的一個突破口。 比如讀ReentrantLock的
Java併發包原始碼學習系列:AbstractQueuedSynchronizer
[toc] > 本文基於JDK1.8 ## 本篇學習目標 - 瞭解AQS的設計思想以及重要欄位含義,如通過state欄位表示同步狀態等。 - 瞭解AQS內部維護鏈式雙向同步佇列的結構以及幾個重要指標。 - 瞭解五種重要的同步狀態。 - 明確兩種模式:共享模式和獨佔模式。 - 學習兩種模式下AQS提供的模
Java併發包原始碼學習系列:CLH同步佇列及同步資源獲取與釋放
[toc] ## 本篇學習目標 - 回顧CLH同步佇列的結構。 - 學習獨佔式資源獲取和釋放的流程。 ## CLH佇列的結構 我在[Java併發包原始碼學習系列:AbstractQueuedSynchronizer#同步佇列與Node節點](https://www.cnblogs.com/summer
Java併發包原始碼學習系列:AQS共享式與獨佔式獲取與釋放資源的區別
[toc] # Java併發包原始碼學習系列:AQS共享模式獲取與釋放資源 往期回顧: - [Java併發包原始碼學習系列:AbstractQueuedSynchronizer](https://www.cnblogs.com/summerday152/p/14238284.html) - [Java併
Java併發包原始碼學習系列:掛起與喚醒執行緒LockSupport工具類
[toc] 系列傳送門: - [Java併發包原始碼學習系列:AbstractQueuedSynchronizer](https://blog.csdn.net/Sky_QiaoBa_Sum/article/details/112254373) - [Java併發包原始碼學習系列:CLH同步佇列及同步資源
Java併發包原始碼學習系列:JDK1.8的ConcurrentHashMap原始碼解析
[toc] 系列傳送門: - [Java併發包原始碼學習系列:AbstractQueuedSynchronizer](https://blog.csdn.net/Sky_QiaoBa_Sum/article/details/112254373) - [Java併發包原始碼學習系列:CLH同步佇列及同步資源
Java併發包原始碼學習系列:阻塞佇列BlockingQueue及實現原理分析
[toc] 系列傳送門: - [Java併發包原始碼學習系列:AbstractQueuedSynchronizer](https://blog.csdn.net/Sky_QiaoBa_Sum/article/details/112254373) - [Java併發包原始碼學習系列:CLH同步佇列及同步資源
Java併發包原始碼學習系列:阻塞佇列實現之ArrayBlockingQueue原始碼解析
[toc] 系列傳送門: - [Java併發包原始碼學習系列:AbstractQueuedSynchronizer](https://blog.csdn.net/Sky_QiaoBa_Sum/article/details/112254373) - [Java併發包原始碼學習系列:CLH同步佇列及同步資源
Java併發包原始碼學習系列:阻塞佇列實現之LinkedBlockingQueue原始碼解析
[toc] 系列傳送門: - [Java併發包原始碼學習系列:AbstractQueuedSynchronizer](https://blog.csdn.net/Sky_QiaoBa_Sum/article/details/112254373) - [Java併發包原始碼學習系列:CLH同步佇列及同步資源
Java併發包原始碼學習系列:阻塞佇列實現之PriorityBlockingQueue原始碼解析
[toc] 系列傳送門: - [Java併發包原始碼學習系列:AbstractQueuedSynchronizer](https://blog.csdn.net/Sky_QiaoBa_Sum/article/details/112254373) - [Java併發包原始碼學習系列:CLH同步佇列及同步資源
Java併發包原始碼學習系列:阻塞佇列實現之DelayQueue原始碼解析
[toc] 系列傳送門: - [Java併發包原始碼學習系列:AbstractQueuedSynchronizer](https://blog.csdn.net/Sky_QiaoBa_Sum/article/details/112254373) - [Java併發包原始碼學習系列:CLH同步佇列及同步資源
Java併發包原始碼學習系列:阻塞佇列實現之SynchronousQueue原始碼解析
[toc] 系列傳送門: - [Java併發包原始碼學習系列:AbstractQueuedSynchronizer](https://blog.csdn.net/Sky_QiaoBa_Sum/article/details/112254373) - [Java併發包原始碼學習系列:CLH同步佇列及同步資源
Java併發包原始碼學習系列:阻塞佇列實現之LinkedTransferQueue原始碼解析
[toc] 系列傳送門: Java併發包原始碼學習系列:AbstractQueuedSynchronizer Java併發包原始碼學習系列:CLH同步佇列及同步資源獲取與釋放 Java併發包原始碼學習系列:AQS共享式與獨佔式獲取與釋放資源的區別 Java併發包原始碼學習系列:ReentrantLock可重
Java併發包原始碼學習系列:基於CAS非阻塞併發佇列ConcurrentLinkedQueue原始碼解析
[toc] ## 非阻塞併發佇列ConcurrentLinkedQueue概述 我們之前花了很多時間瞭解學習BlockingQueue阻塞佇列介面下的各種實現,也大概對阻塞佇列的實現機制有了一定的瞭解:阻塞 + 佇列嘛。 而且其中絕大部分是完全基於獨佔鎖ReentrantLock和條件機制conditi
Java併發包原始碼學習系列:執行緒池ThreadPoolExecutor原始碼解析
[toc] 系列傳送門: - [Java併發包原始碼學習系列:AbstractQueuedSynchronizer](https://blog.csdn.net/Sky_QiaoBa_Sum/article/details/112254373) - [Java併發包原始碼學習系列:CLH同步佇列及同步資源
Java併發包原始碼學習系列:執行緒池ScheduledThreadPoolExecutor原始碼解析
[toc] ## ScheduledThreadPoolExecutor概述 我們在上一篇學習了ThreadPoolExecutor的實現原理:[Java併發包原始碼學習系列:執行緒池ThreadPoolExecutor原始碼解析](https://blog.csdn.net/Sky_QiaoBa_Sum