volatile

jvm运行时,为了保证运行的效率,会把内存中的值load到工作内存中,修改值会在工作内存中修改,在多线程中,有可能内存中的值和工作内存中的值不一致,volatile关键字保证变量只能从内存中取值,对所有线程而言,值都是一致的,但volatile不能保证原子性,所以也是线程不安全的。volatile可以禁止进行指令重排序,指令重排序是Java虚拟机运行时只保证指令运行结果于代码有一致性,不保证顺序也有一致性,使用volatile可以禁止指令重排序
全部评论
不是为了工作效率吧,就是为了屏蔽底层缓存一致性协议对java程序员做出保证的一种模型吧
点赞 回复 分享
发布于 2023-06-30 09:00 江苏

相关推荐

07-22 11:53
门头沟学院 Java
终于有一个保底的offer了,但感觉是白菜价
北凝a:我想问问,提前批的offer 有问你啥时候到岗吗,如果你还想找其他的怎么办
点赞 评论 收藏
分享
07-20 12:08
已编辑
江南大学 图像识别
机械牛马勇闯秋招:把校园经历里面做过的项目,大作业,课设,毕设啥的,扩写,写成具体的项目经历,自我评价缩写别占篇幅,不然这简历真没东西,初筛都过不了
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务