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

 2019-12-10 15:46  阅读(1046)
文章分类:Java Core

一、图例

20191210001281\_1.png

0、两个概念

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

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

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

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

二、多cpu情况

20191210001281\_2.png

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

20191210001281\_3.png

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

20191210001281\_4.png

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

20191210001281\_5.png

四、并发的优势与风险

20191210001281\_6.png

五、总结

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

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

java并发的优势与风险

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> 并发编程之java内存模型(Java Memory Model ,JMM)

相关推荐