download:Vue3.0+TS打造企业级组件库 快速掌握Vue3企业实际应用内涵源码
文章参考编程猿 java自学 http://www.51xuebc.com
Class
java.lang.Object
java.lang.Number
java.util.concurrent.atomic.AtomicInteger
实现的接口:Serializable
复制代码
注意(官方翻译):
AtomicInteger 在Java 1.5就已经存在了,该类不是 java.lang.Integer 的替代品!该类中并没有自定义 equals
、 hashCode
和 compareTo
等方法。 因为原子变量预计会发生变异,所以它们是哈希表键的糟糕选择。
使用场景介绍:
- 多线程情况下我们对int值执行原子操作(即用作
原子计数器
),而无需使用Synchronized
关键字。 - 多线程情况下对int值的赋值操作 :compareAndSet
构造函数
构造函数 | 描述 |
---|---|
AtomicInteger() | 创建一个具有初始值为0的 AtomicInteger |
AtomicInteger(int initialValue) | 使用给定的初始值创建一个新的 AtomicInteger |
原子计数
方法介绍:
方法修饰符、返回类型 | 方法名 | 描述 |
---|---|---|
final int | get() | 返回当前值 |
int | intValue() | 以int形式返回当前值,底层就是调用的get() |
final int | addAndGet() | 以原子方式将给定值添加到当前值,并在添加后返回新值 |
final int | getAndAdd | 以原子方式将给定值添加到当前值并返回旧值 |
final int | crementAndGet | 以原子方式将当前值增加1,并在增加之后返回新值。 它等效于 ++i 操作 |
final int | getAndIncrement | 以原子方式递增当前值并返回旧值。 它等效于 i ++ 操作 |
final int | decrementAndGet | 以原子方式将当前值减1,并在减后返回新值。 它等效于 i-- 操作 |
final int | getAndDecrement | 以原子方式减少当前值并返回旧值。 它等效于 --i 操作 |
demo:
public static void main(String[] args) {
AtomicInteger atomicInteger = new AtomicInteger(10);
System.out.println(atomicInteger.get()); //10
System.out.println(atomicInteger.intValue()); //10
System.out.println(atomicInteger.addAndGet(1)); //11
System.out.println(atomicInteger); //11
System.out.println(atomicInteger.getAndAdd(1)); //11
System.out.println(atomicInteger); //12
System.out.println(atomicInteger.incrementAndGet()); //13
System.out.println(atomicInteger); //13
System.out.println(atomicInteger.getAndIncrement()); //13
System.out.println(atomicInteger); //14
System.out.println(atomicInteger.decrementAndGet()); //13
System.out.println(atomicInteger); //13
System.out.println(atomicInteger.getAndDecrement()); //13
System.out.println(atomicInteger); //12
}
复制代码