栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Java4和Java5中使用volatile关键字

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Java4和Java5中使用volatile关键字

人们回答了我回答第一部分的问题时提供了好的观点和参考。

具体到问题的第二部分,我在某个论坛上阅读过:

volatile声明的long是原子的(也是Java
5之前的版本),在某种意义上说,它保证(对于所有JVM实现)直接对主内存(而不是两个32位寄存器)进行读取或写入。

在Java 5之前的版本中,volatile被 认为
可以提供长久的保证。但是,在实践中事​​情并没有以这种方式解决,并且实现经常违反此保证。我记得这个问题似乎已经在JDK
1.4上解决了,但是由于他们仍在处理整个内存模型,因此直到JDK 5宣布新规则和内存时,他们才真正发表任何明确的声明。保证实际上意味着什么。

这是来自 Java语言规范第二版的

17.4双原子和长原子的非原子处理

即使变量的类型是double或long,对volatile变量的加载,存储,读取和写入操作也是原子的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470168.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号