Hi!请登陆

饿了么架构师发布“绝版”Java并发实现原理: JDK源码剖析

2020-11-17 47 11/17

对于人脑的认知来说,“代码一行行串行”当然最容易理解。但在多线程下,多个线程的代码交叉并行,要访问互斥资源,要互相通信。作为开发者,需要仔细设计线程之间的互斥与同步,稍不留心,就会写出非线程安全的代码。正因此,多线程编程一直是一个被广泛而深入讨论的领域!

关注后后台私信【电子书】获取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内部的计算图分析

总结

相信大家读完这份笔记后,你将对多线程的原理、各种并发的设计原理有一个全面而深刻的理解!整理不易,烦请多多转发。

关注后后台私信【电子书】获取JDK源码剖析文档一份。

相关推荐