Java Memory Model
Java内存模型
java内存模型(Java Memory Model,JMM)
本地方法栈:本地方法栈为虚拟机使用到的Native方法服务
作用
JMM决定一个线程对共享变量的写入何时对另一个线程可见
定义了线程和主内存之间的抽象关系
定义
共享变量存储在主内存(Main Memory)中,每个线程都有一个私有的本地内存(Local Memory),本地内存保存了被该线程使用到的主内存的副本拷贝,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存中的变量。
CPU执行过程
当程序在运行过程中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数据刷新到主存当中。
通常情况下,多核心CPU中的每个CPU核心都会有自己独立的缓存。
Java Memory Model
https://shikai.info/archives/java-memory-model