![](https://csdnimg.cn/release/download_crawler_static/86344322/bg1.jpg)
目录
并发编程领域的关键问题 ..............................................................................................................1
现代计算机物理上的内存模型 ......................................................................................................2
Java 内存模型(JMM) ..................................................................................................................2
JVM 对 Java 内存模型的实现..........................................................................................................3
Java 内存模型带来的问题 ..............................................................................................................3
可见性问题 ..............................................................................................................................3
重排序 ......................................................................................................................................4
Java 内存模型中的重排序 ..............................................................................................................4
重排序类型 ..............................................................................................................................4
重排序与依赖性 ......................................................................................................................4
数据依赖性 ......................................................................................................................4
控制依赖性 ......................................................................................................................5
as-if-serial .................................................................................................................................5
并发下重排序带来的问题 ..............................................................................................................6
解决在并发下的问题 ......................................................................................................................7
内存屏障 ..................................................................................................................................7
临界区 ......................................................................................................................................7
Happens-Before................................................................................................................................8
定义 ..........................................................................................................................................8
Happens-Before 规则 ...............................................................................................................8
volatile 的内存语义 .........................................................................................................................8
volatile 写的内存语义和 volatile 读的内存语义 ....................................................................9
volatile 内存语义的实现 .................................................................................................................9
锁的内存语义 ..................................................................................................................................9
final 的内存语义 ..............................................................................................................................9
volatile 的实现原理 .........................................................................................................................9
synchronized 的实现原理................................................................................................................9
了解各种锁 ......................................................................................................................................9
JMM 和底层实现原理
并发编程领域的关键问题
参见 PPT