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

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

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

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

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

相关推荐
coderzpw2 分钟前
当模板方法模式遇上工厂模式:一道优雅的烹饪架构设计
java·模板方法模式
巷北夜未央4 分钟前
Python每日一题(13)
开发语言·python·算法
直裾6 分钟前
Mapreduce初使用
java·mapreduce
woniu_maggie17 分钟前
SAP EXCEL DOI 详解
开发语言·后端·excel
小爬虫程序猿18 分钟前
利用 PHP 爬虫按关键字搜索淘宝商品
开发语言·爬虫·php
悠夏安末23 分钟前
intellij Idea 和 dataGrip下载和安装教程
java·ide·intellij-idea
独好紫罗兰31 分钟前
洛谷题单3-P5720 【深基4.例4】一尺之棰-python-流程图重构
开发语言·python·算法
suimeng632 分钟前
ChromeDriver的常用方法
java·selenium
byte轻骑兵1 小时前
【C++进阶】关联容器:pair类型
开发语言·c++
Hellyc1 小时前
SpringMVC响应数据:页面跳转与回写数据
java·前端·学习