每日打卡--day11

violatile 关键字的作用?

一个非常重要的问题,是每个学习、应用多线程的 Java 程序员都必须掌握的。理 解 volatile关键字的作用的前提是要理解 Java 内存模型,这里就不讲 Java 内存模型 了,可以参见第31 点,volatile 关键字的作用主要有两个:

1)多线程主要围绕可见性和原子性两个特性而展开,使用 volatile 关键字修饰的变 量,保证了其在多线程之间的可见性,即每次读取到 volatile 变量,一定是最新的数据。

2)代码底层执行不像我们看到的高级语言----Java 程序这么简单,它的执行是 Java 代码–>字节码–>根据字节码执行对应的 C/C++代码–>C/C++代码被编译成汇编语 言–>和硬件电路交互,现实中,为了获取更好的性能 JVM 可能会对指令进行重排序,多线程下可能会出现一些意想不到的问题。

使用 volatile 则会对禁止语义重排 序,当然这也一定程度上降低了代码执行效率从实践角度而言,volatile 的一个重 要 作 用 就 是 和 CAS 结 合。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值