Vue3.0+TS打造企业级组件库 快速掌握Vue3企业实际应用内涵源码

#1

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 的替代品!该类中并没有自定义 equalshashCodecompareTo 等方法。 因为原子变量预计会发生变异,所以它们是哈希表键的糟糕选择。

使用场景介绍:

  1. 多线程情况下我们对int值执行原子操作(即用作 原子计数器 ),而无需使用 Synchronized 关键字。
  2. 多线程情况下对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
    }
复制代码

compareAndSet