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

volatile 是什么

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

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

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

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

volatile的作用

volatile作用

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

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

相关推荐
我命由我123454 分钟前
Java 开发 - CountDownLatch 不需要手动关闭
android·java·开发语言·jvm·kotlin·android studio·android-studio
小研说技术5 分钟前
结构化输出让Agent返回可预测的格式数据
java·人工智能
两年半的个人练习生^_^20 分钟前
PinYin4j汉字转拼音使用及踩坑
java
谭欣辰24 分钟前
详细讲解 C++ 状压 DP
开发语言·c++·动态规划
chaofan98032 分钟前
GPT-5.5 全压力测试:为什么 API 聚合调度是解决“首字延迟”的技术关键?
开发语言·人工智能·python·gpt·自动化·api
William_wL_36 分钟前
【C++】stack和queue的使用和实现(附加deque的简单介绍)
开发语言·c++
Cat_Rocky1 小时前
通过k8s实现单pod部署
java·容器·kubernetes
hhb_6181 小时前
D架构底层调度与性能优化实践指南
开发语言
秋91 小时前
Java AI编程工具全景解析:功能、收费与工单系统实战指南
java·开发语言·ai编程
瑶山1 小时前
IDEA 配置Go语言开发环境、GOPATH传统 Go 项目导入
java·golang·intellij-idea