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

1. 什么是Java内存模型?

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

简略图在这里插入图片描述

2. JMM数据原子操作

在这里插入图片描述
Java内存模型还规定了执行上述8种基本操作时必须满足如下规则:
在这里插入图片描述

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

在这里插入图片描述

发布了45 篇原创文章 · 获赞 3 · 访问量 2330

猜你喜欢

转载自blog.csdn.net/weixin_44046437/article/details/99008192