本博客系列是学习并发编程过程中的记录总结。由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅。

并发编程系列博客传送门


本文是转载文章,原文请见此博客,文章主要对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

最新文章

  1. SpringMVC+Shiro权限管理【转】
  2. iOS drewRect方法
  3. Subtitute
  4. 规则引擎集成接口(七)规则引擎调用Java类
  5. ECMAScript数据类型
  6. CSS第四天总结 更多的属性 圆角 边框图片 段落属性 颜色渐变 盒子阴影
  7. [BZOJ1064][Noi2008]假面舞会
  8. spring注入参数详解
  9. 权威发布:长链非编码RNA命名规则
  10. KSImageNamed-Xcode-master 对项目中图片提供自动提示功能的插件
  11. [SSH 2] 以网站主页面浅谈Struts2配置
  12. 基于sqlite的Qt 数据库封装
  13. 8套迷人精致的CSS3 3D按钮动画
  14. VC按钮控件实现指示灯效果
  15. Mysql命令行连接
  16. (poj)3020 Antenna Placement 匹配
  17. POJ 2455 Secret Milking Machine(搜索-二分,网络流-最大流)
  18. delphiXE调用Objective-c库
  19. android对app代码混淆
  20. maven_修改setting ,改为自己私服或者OSC开源中国 [为解决sqlite-jdbc 在中央仓库找不到]

热门文章

  1. Java自学-集合框架 HashSet、LinkedHashSet、TreeSet之间的区别
  2. JS实现全选,取消全选,正常选择
  3. JAVA开源爬虫列表及简介
  4. GNS3 ProxyArp(查看路由器是否具有转发功能)
  5. esxi 版本升级命令
  6. 洛谷 P3435 [POI2006]OKR-Periods of Words
  7. 剑指offer,双指针法,vector输出不完美
  8. 014.CI4框架CodeIgniter数据库操作之:查询数据库,并让数据以对象的方式返回查询结果
  9. Spark 资料整理
  10. DOM基础2——元素