【吊打面试官系列】Java高并发篇 - volatile 变量和 atomic 变量有什么不同?

大家好,我是锋哥。今天分享关于 【volatile 变量和 atomic 变量有什么不同?】面试题,希望对大家有帮助;

volatile 变量和 atomic 变量有什么不同?

Volatile 变量可以确保先行关系,即写操作会发生在后续的读操作之前, 但它并不能保证原子性。例如用 volatile 修饰 count 变量那么 count++ 操作就不是原子性的。

而 AtomicInteger 类提供的 atomic 方法可以让这种操作具有原子性如getAndIncrement()方法会原子性的进行增量操作把当前值加一,其它数据类型和引用变量也可以进行相似操作。

相关推荐
xiao--xin4 分钟前
Java定时任务实现方案(一)——Timer
java·面试题·八股·定时任务·timer
DevOpsDojo5 分钟前
HTML语言的数据结构
开发语言·后端·golang
懒大王爱吃狼7 分钟前
Python绘制数据地图-MovingPandas
开发语言·python·信息可视化·python基础·python学习
数据小小爬虫10 分钟前
如何使用Python爬虫按关键字搜索AliExpress商品:代码示例与实践指南
开发语言·爬虫·python
MrZhangBaby18 分钟前
SQL-leetcode—1158. 市场分析 I
java·sql·leetcode
好一点,更好一点26 分钟前
systemC示例
开发语言·c++·算法
不爱学英文的码字机器29 分钟前
[操作系统] 环境变量详解
开发语言·javascript·ecmascript
一只淡水鱼6632 分钟前
【spring原理】Bean的作用域与生命周期
java·spring boot·spring原理
martian66533 分钟前
第17篇:python进阶:详解数据分析与处理
开发语言·python
五味香38 分钟前
Java学习,查找List最大最小值
android·java·开发语言·python·学习·golang·kotlin