码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-06-25 21:43:53      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:引用   概念   规则   logs   java内存   线程之间的通信   alt   运行   width   

一、图例

技术分享图片

0、两个概念

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

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

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

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

二、多cpu情况

技术分享图片

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

技术分享图片

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

技术分享图片

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

技术分享图片

 

 

四、并发的优势与风险

 

 技术分享图片

 五、总结

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

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

java并发的优势与风险

 

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

标签:引用   概念   规则   logs   java内存   线程之间的通信   alt   运行   width   

原文地址:https://www.cnblogs.com/xiaonantianmen/p/9226320.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!