一、JMM 概述
- 什么是
JMM
?
内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象描述,不同架构下的物理机拥有不一样的内存模型,Java虚拟机是一个实现了跨平台的虚拟系统,因此它也有自己的内存模型,即
Java内存模型(Java Memory Model, JMM)
。
因此它不是对物理内存的规范,而是在虚拟机基础上进行的规范从而实现平台一致性,以达到Java程序能够“一次编写,到处运行”。
- 那么究竟什么是内存模型?
内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存中取出变量这样的底层细节。
Java Memory Model(Java内存模型), 围绕着在并发过程中如何处理可见性、原子性、有序性
这三个特性而建立的模型。
二、JMM 的认识
JMM(java内存模型)
,由于并发程序要比串行程序复杂很多,其中一个重要原因是并发程序中数据访问