Atomic系列类整体介绍
2024-09-02 22:00:22
本博客系列是学习并发编程过程中的记录总结。由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅。
本文是转载文章,原文请见此博客,文章主要对java.util.concurrent.atomic
开发包下的类进行整体概述与类别划分。
版本说明
在JDK1.5版本之前,多行代码的原子性主要通过synchronized关键字进行保证。
在JDK1.5版本,Java提供了原子类型专门确保变量操作的原子性。
开发包整体说明
原子类型位于java.util.concurrent.atomic包下,其主要类如下:
其类图关系如下:
原子类型划分
为了方面对这些类逐级掌握,我将这些原子类型分为以下几类:
- 普通原子类型:提供对boolean、int、long和对象的原子性操作。
- AtomicBoolean
- AtomicInteger
- AtomicLong
- AtomicReference
- 原子类型数组:提供对数组元素的原子性操作。
- AtomicLongArray
- AtomicIntegerArray
- AtomicReferenceArray
- 原子类型字段更新器:提供对指定对象的指定字段进行原子性操作。
- AtomicLongFieldUpdater
- AtomicIntegerFieldUpdater
- AtomicReferenceFieldUpdater
- 带版本号的原子引用类型:以版本戳的方式解决原子类型的ABA问题。
- AtomicStampedReference
- AtomicMarkableReference
- 原子累加器(JDK1.8):AtomicLong和AtomicDouble的升级类型,专门用于数据统计,性能更高。
- DoubleAccumulator
- DoubleAdder
- LongAccumulator
- LongAdder
最新文章
- SpringMVC+Shiro权限管理【转】
- iOS drewRect方法
- Subtitute
- 规则引擎集成接口(七)规则引擎调用Java类
- ECMAScript数据类型
- CSS第四天总结 更多的属性 圆角 边框图片 段落属性 颜色渐变 盒子阴影
- [BZOJ1064][Noi2008]假面舞会
- spring注入参数详解
- 权威发布:长链非编码RNA命名规则
- KSImageNamed-Xcode-master 对项目中图片提供自动提示功能的插件
- [SSH 2] 以网站主页面浅谈Struts2配置
- 基于sqlite的Qt 数据库封装
- 8套迷人精致的CSS3 3D按钮动画
- VC按钮控件实现指示灯效果
- Mysql命令行连接
- (poj)3020 Antenna Placement 匹配
- POJ 2455 Secret Milking Machine(搜索-二分,网络流-最大流)
- delphiXE调用Objective-c库
- android对app代码混淆
- maven_修改setting ,改为自己私服或者OSC开源中国 [为解决sqlite-jdbc 在中央仓库找不到]