【JUC-4】JMM:volatile&内存屏障

本文参考:https://nyimac.gitee.io/2020/06/08/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/#1%E3%80%81JAVA%E5%86%85%E5%AD%98%E6%A8%A1%E5%9E%8B%EF%BC%88JMM%EF%BC%89
在这里插入图片描述
总结

  1. 知道jmm定义了主存与工作内存的概念
  2. jmm三大特性
  3. volatile不能保证原子性,只能保证可见性与有序性
  4. volatile的可见性是通过禁用高速缓存实现的
  5. volatile的有序性是通过内存屏障实现的
  6. 内存屏障分为写屏障与读屏障,写屏障向上阻挡,读屏障向下阻挡(所谓读和写就是x作为左值时为写x = 0,作为右值为读 例如 y= x)

内存屏障分析

视频见https://www.bilibili.com/video/BV15b4y117RJ?p=80&spm_id_from=pageDriver
加在y的情况
在这里插入图片描述
加在x的情况
由于写操作向上挡,因此y可以从下面过去,所以写时volatile变量最好写在最后面
读的时候向下挡,所以写在最上面。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值