java内存模型及内存与cpu之间的关系

Posted 敲代码的卡卡罗特

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java内存模型及内存与cpu之间的关系相关的知识,希望对你有一定的参考价值。

  

 

主内存和cpu之间的关系,因为cpu是在是处理速度太快了。所以一般cpu都有一个cpu缓存,上图的意思是主内存---》cpu缓存---》cpu寄存器---》cpu执行处理,写的时候反之。

 

 

 

 看上图,就是多线程情况下java操作变量的大致步骤,需要注意的是,多线程操作的变量都是从主内存拿到的是变量的副本,然后进行一系列操作后,另赋值给主内存,所以,这种情况下就会导致多线程情况下数据不一致的问题。

 

以上是关于java内存模型及内存与cpu之间的关系的主要内容,如果未能解决你的问题,请参考以下文章

并发编程3:深入理解Java虚拟机_内存模型与线程-JAVA内存模型

jvm内存模型及分配参数

java基础---多线程---java内存模型

Java内存模型之总结

Java并发编程里的volatile。Java内存模型核CPU内存架构的对应关系

盲猜原子变量内存屏障内存模型锁之间的关系