JMM java内存模型

2020-11-15  本文已影响0人  Binary_r

Java Memory Model

https://juejin.cn/post/6844903600318054413

什么是JMM

JMM:Java Memory Model的缩写
作用:
缓存一致性协议,用于定义数据读取规则(遵守)
概念:
允许编译器和缓存以数据在处理器特定的缓存(或寄存器)和主存之间移动的次序拥有重要的特权,除非程序员使用了volatile或synchronized明确请求了某些可见性的保证。

JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(Main Memory)中,每个线程都有一个私有的本地内存(Local Memory),本地内存中存储了该线程以读/写共享变量的副本。本地内存是JMM的一个抽象概念,并不真实存在。它涵盖了缓存、写缓冲区、寄存器以及其他的硬件和编译器优化。

image.png
解决共享对象可见性的问题:volilate

Java中JMM内存模型定义了八种操作来实现同步的细节

Java内存模型中明确规定了要执行这些操作需要满足以下规则:

上一篇 下一篇

猜你喜欢

热点阅读