您的位置:首页 > 编程语言 > Java开发

死磕Java多线程(三)--- Java线程的内存模型

2019-08-10 17:21 369 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_44046437/article/details/99008192

1. 什么是Java内存模型?

Java内存模型(JavaMemory Model ,JMM)就是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制及规范。(jmm是jvm的一种规范,定义了jvm的内存模型。它屏蔽了各种硬件和操作系统的访问差异,不像c那样直接访问硬件内存,相对安全很多,它的主要目的是解决由于多线程通过共享内存进行通信时,存在的本地内存数据不一致、编译器会对代码指令重排序、处理器会对代码乱序执行等带来的问题。可以保证并发编程场景中的原子性、可见性和有序性。)

简略图

2. JMM数据原子操作


Java内存模型还规定了执行上述8种基本操作时必须满足如下规则:

3.一个变量从主内存到被某个线程使用到重新刷新到主内存简略图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: