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

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

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

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

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

相关推荐
慕y2743 分钟前
Java学习第十五部分——MyBatis
java·学习·mybatis
fie88893 分钟前
浅谈几种js设计模式
开发语言·javascript·设计模式
A__tao6 分钟前
SQL 转 Java 实体类工具
java·数据库·sql
喝可乐的布偶猫10 分钟前
Java类变量(静态变量)
java·开发语言·jvm
TDengine (老段)34 分钟前
TDengine STMT2 API 使用指南
java·大数据·物联网·时序数据库·iot·tdengine·涛思数据
喝可乐的布偶猫1 小时前
韩顺平之第九章综合练习-----------房屋出租管理系统
java·开发语言·ide·eclipse
Code季风1 小时前
深入理解微服务中的服务注册与发现(Consul)
java·运维·微服务·zookeeper·架构·go·consul
光军oi1 小时前
java微服务(Springboot篇)——————IDEA搭建第一个Springboot入门项目
java·spring boot·微服务
江山如画,佳人北望1 小时前
C#程序入门
开发语言·windows·c#
future14122 小时前
C#每日学习日记
java·学习·c#