Java并发面试题:(五)volatile关键字

volatile 是什么

一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:

1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线

程来说是立即可见的,volatile关键字会强制将修改的值立即写入主存。

2)禁止进行指令重排序。

volatile的作用

volatile作用

Volatile 一般用于 状态标记量 和 单例模式的双检锁

volatile的一个重要作用就是和CAS结合,保证了原子性,详细的可以参见java.util.concurrent.atomic 包下的类,比如 AtomicInteger 。

相关推荐
小羊没烦恼!14 小时前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里14 小时前
java中的继承和多态的区别
java
小羊没烦恼!14 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕15 小时前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码15 小时前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖15 小时前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时15 小时前
01-06-A-JVM排查实战详解
java·jvm
伞伞悦读15 小时前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
晨米酱15 小时前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent
vipxieliang16 小时前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot