1、关于主内存与工作内存之间的交互协议,即一个变量如何从主内存拷贝到工作内存,如何从工作内存同步到主内存中的实现细节。
2、Java内存模型定义了8种原子操作。
lock: 将一个变量标识为被一个线程独占状态
unclock: 将一个变量从独占状态释放出来,释放后的变量才可以被其他线程锁定
read: 将一个变量的值从主内存传输到工作内存中,以便随后的load操作
load: 把read操作从主内存中得到的变量值放入工作内存的变量的副本中
use: 把工作内存中的一个变量的值传给执行引擎,每当虚拟机遇到一个使用到变量的指令时都会使用该指令
assign: 把一个从执行引擎接收到的值赋给工作内存中的变量,每当虚拟机遇到一个给变量赋值的指令时,都要使用该操作
store: 把工作内存中的一个变量的值传递给主内存,以便随后的write操作
write: 把store操作从工作内存中得到的变量的值写到主内存中的变量
以上就是java内存间交互规则,希望对大家有所帮助。更多Java学习指路:
本教程操作环境:windows7系统、java10版,DELL G3电脑。