一、内存模型
内存模型:在特定的操作协议下,对特定的内存或高速缓存进行读写访问的过程抽象.

- 共享变量存放主内存,每个线程都有自己的工作内存;工作内存中保存该线程使用到的变量的主内存副本拷贝。
- 线程对变量的所有操作(读、写)都应该在工作内存中完成。
- 不同线程不能访问工作内存,交互数据要通过主内存
二、内存交互
- JVM内存模型规定一些操作实现内存间交互,JVM保证原子性
- lock: 锁定,把变量标示为线程独占,作用于主内存变量
- unlock: 解锁,锁定变量释放,别的线程才能使用,作用于主内存变量
- read:读取,把变量从主内存读取到工作内存
- load:载入,对象赋值
- use:使用,把工作内存变量值传递给执行引擎
- assign:赋值,从执行引擎接收到的值赋给工作内存里面的变量(变量值改变)
- store:存储,把工作内存中变量值传递到主内存
- write:写入,把store的值存放到主内存变量中
