4、java内存模型

4、java内存模型
1、Stack:栈中保存的主要是对象的引用、基本数据类型等
2、Heap:堆中保存的就是实际的java对象。
3、java程序是运行在JVM上的。

计算机的硬件架构如下:
4、java内存模型

计算机与JVM的交互
4、java内存模型

java内存模型抽象结构图:
4、java内存模型

java内存模型:同步操作与规则
4、java内存模型
1、lock:当访问一个使用了同步锁的变量时,首先会给该变量进行加锁操作
2、read:读取该加锁的数据
3、load:cpu将数据加载到工作内存中
4、use:java线程从工作内存中读取数据进行使用
5、assign:java线程对该变量数据进行修改以后,会重新写回工作内存
6、store\write:cpu将工作内存中的数据最终写回主存
7、unlock:主存最终将该变量的锁取消