Java Memory Model

Java内存模型

java内存模型(Java Memory Model,JMM)

本地方法栈:本地方法栈为虚拟机使用到的Native方法服务

作用

  1. JMM决定一个线程对共享变量的写入何时对另一个线程可见

  2. 定义了线程和主内存之间的抽象关系

定义

共享变量存储在主内存(Main Memory)中,每个线程都有一个私有的本地内存(Local Memory),本地内存保存了被该线程使用到的主内存的副本拷贝,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存中的变量。

CPU执行过程

当程序在运行过程中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数据刷新到主存当中。

通常情况下,多核心CPU中的每个CPU核心都会有自己独立的缓存。


Java Memory Model
https://shikai.info/archives/java-memory-model
作者
石 凯
发布于
2023年08月01日
许可协议