Atomic*工具类

AtomicBoolean

1. 成员变量

// 对应的类中的成员变量句柄
private static final VarHandle VALUE;
// 存储变量的值
private volatile int value;

2. 核心

set时使用句柄(VarHandle)来进行设置value,获取时使用value进行获取

AtomicInteger

1. 成员变量

private static final Unsafe U = Unsafe.getUnsafe();
private static final long VALUE = U.objectFieldOffset(AtomicInteger.class, "value");
private volatile int value;

2.核心

与Boolean类似

AtomicLong

1. 成员变量

Atomic*Array工具类

AtomicIntegerArray

1. 成员变量

private static final VarHandle AA = MethodHandles.arrayElementVarHandle(int[].class);
private final int[] array;