餓了么架構師發布“絕版”Java並發實現原理:JDK源碼剖析


對於人腦的認知來說,“代碼一行行串行”當然最容易理解。但在多線程下,多個線程的代碼交叉並行,要訪問互斥資源,要互相通信。作為開發者,需要仔細設計線程之間的互斥與同步,稍不留心,就會寫出非線程安全的代碼。正因此,多線程編程一直是一個被廣泛而深入討論的領域!

掃碼就有禮

關注后點擊這里!!暗號博客園,來獲取源碼剖析文檔一份。

今天就來分享一份餓了么架構師純手打的Java並發實現原理:JDK源碼剖析,由於這份筆記的內容過多,小編沒辦法全部為大家展示出來,有不盡完美之處,還望大家多多海涵

第1篇:多線程基礎

線程的優雅關閉

InterruptedException () 函數與interrupt ()函數

synchronized關鍵字

wait () 與notify ()

volatile關鍵字

JMM與happen-before

內存屏障

final關鍵字

綜合應用:無鎖編程

 
 
 
 

第2篇:Atomic類

AtomicInteger和AtomicLong

AtomicBoolean和AtomicReference

AtomicStampedReference和AtomicMarkableReference

AtomicIntegerFieldUpdater. AtomicL ongFieldUpdater和AtomicReferenceFieldUpdater

AtomicIntegerArray. AtomicLongArray和Atomic ReferenceArray

Striped64與LongAdder

 
 
 
 

第3篇:Lock與Condition

互斥鎖

讀寫鎖

Condition

StampedLock

 
 
 
 

第4篇:同步工具類

Semaphore

CountDownLatch

CyclicBarrier

Exchanger

Phaser

 
 
 

第5篇:並發容器

BlockingQueue

BlockingDeque

CopyOnWrite

ConcurrentLinkedQueue/Deque

ConcurrentHashMap

ConcurrentSkipListMap/Set

 
 
 
 

第6篇:線程池與Future

線程池的實現原理

線程池的類繼承體系

ThreadPoolExector

Callable與Future

ScheduledThreadPoolExecutor

Executors工具類

 
 
 

第7篇:ForkJoinPool

ForkJoinPool用法

核心數據結構

工作竊取隊列

ForkJoinPool狀態控制

Worker線程的阻塞—喚醒機制

任務的提交過程分析

工作竊取算法:任務的執行過程分析

ForkJoinTask的fork/join

ForkJoinPool的優雅關閉

 
 
 
 

第8篇:CompletableFuture

CompletableFuture用法

四種任務原型

CompletionStage接口

CompletableFuture內部原理

任務的網狀執行:有向無環圖

allOf內部的計算圖分析

 
 
 
 

總結

相信大家讀完這份筆記后,你將對多線程的原理、各種並發的設計原理有一個全面而深刻的理解!整理不易,煩請多多轉發。

點擊這里!!暗號博客園


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM