Java关键字volatile学习笔记(一)

Java内存模型(一)

​ Java内存模型(JMM)的设计是建立在物理机的内存模型之上的,因此,了解物理机的内存模型的相关知识是很有必要的。


物理机内存模型
  • 内存的读写效率已经远不及CPU的计算效率,为了避免计算资源浪费,有了缓存的概念,也就是每个CPU通过缓存对内存进行访问

  • 现代CPU发展达到瓶颈,单核计算频率已经很难提高了,因此引入了多核CPU

一、问题的出现:

​ 缓存中存储数据,意味着相同的数据在不同的缓存中会呈现不一致的表现。出现这个问题的原因是写操作还有就是我们采用了多个缓存

二、缓存一致性协议:

​ 为解决缓存不一致的问题,我们需要一种机制来约束各个核,也就是缓存一致性协议。

​ 常用的缓存一致性协议都属于“snooping(窥探)”协议,各个CPU能够时刻监控自己和其他CPU的状态,从而统一管理协调。其中窥探的思想是:CPU的各个缓存是独立的,但内存确实共享的,所有缓存的数据最终都通过总线写入同一个内存,因此CPU各个CPU都能"看见"总线,各个缓存不仅在进行内存数据交换的时候访问总线,还可以时刻"窥探"总线,监控其他缓存在干什么。因此当一个缓存在对内存写数据时,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值