并发编程之java内存模型(Java Memory Model ,JMM)

一、图例

《并发编程之java内存模型(Java Memory Model ,JMM)》

0、两个概念

Heap(堆):运行时的数据区,由垃圾回收负责,运行时分配内存(所以慢),对象存放在堆上

如果两个线程,同时调用同一个变量,怎两个线程都拥有,该对象的私有拷贝

(可以看一下,ThreadLocal:   引用注明出处,https://www.cnblogs.com/xiaonantianmen/p/9151481.html)

Stack(栈):存放一些引用变量

二、多cpu情况

《并发编程之java内存模型(Java Memory Model ,JMM)》

0、JVM与物理内存之间的通信。

《并发编程之java内存模型(Java Memory Model ,JMM)》

 2、线程之间的通信必须通过主内存(此处则是要考虑synchronize或volital等):

《并发编程之java内存模型(Java Memory Model ,JMM)》

三、java内存模型——-同步八中操作

《并发编程之java内存模型(Java Memory Model ,JMM)》

 

 

四、并发的优势与风险

 

 《并发编程之java内存模型(Java Memory Model ,JMM)》

 五、总结

CPU多级缓存:缓存一致性、乱序执行优化

Java内存模型:JMM规定、抽象结构、同步八种操作及规则

java并发的优势与风险

 

    原文作者:小南天门
    原文地址: https://www.cnblogs.com/xiaonantianmen/p/9226320.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞