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

volatile 是什么

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

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

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

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

volatile的作用

volatile作用

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

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

相关推荐
AI视觉网奇3 分钟前
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr
开发语言·c++·算法
wjs20249 分钟前
并查集快速合并
开发语言
free-elcmacom9 分钟前
MATLAB与高等数学<1>一道曲面积分题的几何直观
开发语言·数学建模·matlab·高等数学
LaoZhangGong12310 分钟前
深度学习uip中的“psock.c和psock.h”
c语言·开发语言
Tony Bai12 分钟前
Go 安全新提案:runtime/secret 能否终结密钥残留的噩梦?
java·开发语言·jvm·安全·golang
oioihoii18 分钟前
C++11到C++23语法糖万字详解
java·c++·c++23
pengzhuofan21 分钟前
Java演进与与工程师成长
java·开发语言
比昨天多敲两行21 分钟前
C++入门基础
开发语言·c++
测试秃头怪21 分钟前
2026最新软件测试面试八股文(含答案+文档)
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
月明长歌22 分钟前
再谈Java 继承与多态:从“能用”到“精通”,更深一层的原理与设计思维
java·开发语言