并发编程是 Java 程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰、思维缜密,这样才能写出高效、安全、可靠的多线程并发程序。
最近几年,并发编程已经慢慢成为了一项必备技能。高薪岗位面试必问,并发编程似乎已经成为大厂必备的敲门砖。
这主要是硬件的驱动以及国内互联网行业的飞速发展决定的,现在 64 核的服务器已经飞入寻常百姓家,大型互联网厂商的系统并发量轻松过百万,传统的中间件和数据库已经不能为我们遮风挡雨,反而成了瓶颈所在
今天我们就来学习阿里巴巴要求其内部程序员必须去学习的一套 Java 并发变成笔记,这套笔记从原理、模式、应用四套笔记来深入学习并发编程~!
先看一张知识体系导图:
笔记以并发并行为主线,穿插讲解
应用篇-结合实际
原理篇-了然于胸
模式篇-正确姿势
![](https://i-blog.csdnimg.cn/blog_migrate/6930538f228400752b96856f2dc8e56f.png)
由于篇幅原因,为了避免影响到大家的阅读体验,在此只以截图展示部分内容
并发编程共享模型篇
并发编程概览
进程与线程
Java线程
共享模型之管程
共享模型之内存
共享模型之无锁
共享模型之不可变
共享模型之工具
![](https://i-blog.csdnimg.cn/blog_migrate/547a263ab3d9bbca904efcb451f2265f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/22b56d2175b5797e2e5b98a0f7d410fc.png)
共享模型之管程
![](https://i-blog.csdnimg.cn/blog_migrate/a13b1c2eacc9d412d68238f63074fc1d.png)
原理之 Monitor(锁)
![](https://i-blog.csdnimg.cn/blog_migrate/8e3fb3f7225270a09294ca7a22ffd421.png)
原理之伪共享
模式篇—正确姿势
同步模式之保护性智停
同步模式之Blking
同步模式之顺
序控制
异步模式之生产者消费者
异步模式之工作线程.
终止模式之两阶段终止模式
线程安全单例
享元模式
![](https://i-blog.csdnimg.cn/blog_migrate/c40500382ddd9a43292cd1b3e497c6f6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b348802a4dfc88c531d3d56dd409ba75.png)
同步模式之保护性暂停
![](https://i-blog.csdnimg.cn/blog_migrate/3d42da86ea9de3725a1711754a3631b7.png)
应用篇—结合实际
效率
限制
互斥
同步和异步
缓存
分治
统筹
定时
![](https://i-blog.csdnimg.cn/blog_migrate/02559413289c63295c8218af6d0ca9bb.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bf0b6d290105c969da7a9218c0457f76.png)
缓存更新策略
![](https://i-blog.csdnimg.cn/blog_migrate/17e19060375ab702d50cf2d2f62196c5.png)
原理篇—了然于胸
指令级并行原理
CPU缓存结构原理
volatile原理
fnal原理
Monitor原理
synchronized原理
synchronized原理进阶
wait notify原理
join原理
park unpark原理
AQS原理
ReentrantLock原理
读写锁原理
Semaphore原理
CourentHashMap,原理
LnkedlockingQueue原理
ConcurenL nkedQueue原理
![](https://i-blog.csdnimg.cn/blog_migrate/c9cac56c3d0da71693650fbf842ec4ee.png)
![](https://i-blog.csdnimg.cn/blog_migrate/21c09e0382ed4d733ddfacbf3e2ab33c.png)
指令级并行原理
![](https://i-blog.csdnimg.cn/blog_migrate/d280e013ef41d7b1989cbb3463a2ffc0.png)
CPU 缓存结构原理
![](https://i-blog.csdnimg.cn/blog_migrate/da3040a3e53446fdcdd37f0bac26daf9.png)
CPU 缓存一致性
![](https://i-blog.csdnimg.cn/blog_migrate/e4dd22ddd999f9f7cac4d19df35fb6d7.png)