Java并发22:Atomic系列-原子类型整体概述与类别划分

[超级链接:Java并发学习系列-绪论]


从本章开始学习原子变量:Atomic,包路径为:java.util.concurrent.atomic

本章主要对java.util.concurrent.atomic开发包下的类进行整体概述与类别划分。

1.版本说明

JDK1.5版本之前,多行代码的原子性主要通过synchronized关键字进行保证。

JDK1.5版本,Java提供了原子类型专门确保变量操作的原子性

2.开发包整体说明

原子类型位于java.util.concurrent.atomic包下,其主要类如下:

Java并发22:Atomic系列-原子类型整体概述与类别划分_第1张图片

其类图关系如下:

Java并发22:Atomic系列-原子类型整体概述与类别划分_第2张图片

3.原子类型划分

为了方面对这些类逐级掌握,我将这些原子类型分为以下几类:

  • 普通原子类型:提供对boolean、int、long和对象的原子性操作。
    • AtomicBoolean
    • AtomicInteger
    • AtomicLong
    • AtomicReference
  • 原子类型数组:提供对数组元素的原子性操作。
    • AtomicLongArray
    • AtomicIntegerArray
    • AtomicReferenceArray
  • 原子类型字段更新器:提供对指定对象的指定字段进行原子性操作。
    • AtomicLongFieldUpdater
    • AtomicIntegerFieldUpdater
    • AtomicReferenceFieldUpdater
  • 带版本号的原子引用类型:以版本戳的方式解决原子类型的ABA问题。
    • AtomicStampedReference
    • AtomicMarkableReference
  • 原子累加器(JDK1.8):AtomicLong和AtomicDouble的升级类型,专门用于数据统计,性能更高。
    • DoubleAccumulator
    • DoubleAdder
    • LongAccumulator
    • LongAdder

你可能感兴趣的:(Java并发,Java并发学习实例)