🧩 Java并发编程 · 线程安全
深度解析 · 30章 从入门到实战
📚 全彩目录 · 点击章节跳转
01
并发编程概述
并发与并行
历史演进
为什么需要并发
02
线程基础
创建与启动
生命周期
优先级/守护线程
03
线程安全基础
原子性/可见性/有序性
JMM概述
04
synchronized关键字
实例/静态/代码块
Monitor锁升级
05
volatile关键字
可见性/禁止重排
双重检查锁定
06
Lock与ReentrantLock
公平/非公平
Condition条件变量
07
读写锁ReadWriteLock
锁降级
性能优势
08
原子类与CAS
AtomicInteger
ABA问题
09
线程池原理与使用
核心参数
四种线程池
10
线程池进阶
拒绝策略
ForkJoinPool
11
并发容器
ConcurrentHashMap
BlockingQueue
12
同步工具类
CountDownLatch
CyclicBarrier/Semaphore
13
Fork/Join框架
RecursiveTask
工作窃取
14
CompletableFuture
异步组合
异常处理
15
ThreadLocal
ThreadLocalMap
内存泄漏
16
AQS抽象队列同步器
CLH变体
独占/共享
17
锁优化与最佳实践
锁粗化/消除
无锁编程
18
死锁与活锁
四个必要条件
jstack排查
19
内存模型与happens-before
happens-before规则
内存屏障
20
并发编程设计模式
不可变对象
生产者消费者
21
协程与虚拟线程
Project Loom
平台线程对比
22
并发测试与调试
JCStress
ThreadMXBean
23
性能调优实战
IO/CPU密集型
伪共享
24
并发编程陷阱
DCL正确实现
HashMap死循环
25
Reactive编程与并发
Flux/Mono
背压机制
26
Actor模型与Java实现
Akka框架
共享内存对比
27
分布式并发问题
分布式锁Redis/ZK
CAP理论
28
Java并发编程未来
结构化并发
值类型/Panama
29
综合案例:高性能缓存
LRU缓存
异步加载/防雪崩
30
综合案例:简易消息队列
BlockingQueue
持久化/重试