work_21_AtomicInteger API

高并发的情况下,i++无法保证原子性,往往会出现问题,所以引入AtomicInteger类。

构造方法

1、public AtomicInteger(int initialValue)   创建具有给定初始值的新 AtomicInteger。

参数:initialValue - 初始值

2、public AtomicInteger()  创建具有初始值0 的新 AtomicInteger。

API

1、public final int get()  获取当前值。

返回:当前值

 

2、public final void set(int newValue)  设置为给定值。

参数:newValue - 新值

3、public final void lazySet(int newValue)   最后设置为给定值。

参数:newValue - 新值

 

4、public final int getAndSet(int newValue)   以原子方式设置为给定值,并返回旧值。

参数:newValue - 新值

返回:以前的值

 

5、public final boolean compareAndSet(int expect, int update)

如果当前值 == 预期值,则以原子方式将该值设置为给定的更新值。

参数:expect - 预期值   update - 新值

返回:如果成功,则返回 true。返回 False 指示实际值与预期值不相等。

 

6、public final boolean weakCompareAndSet(int expect,  int update)

如果当前值 == 预期值,则以原子方式将该设置为给定的更新值。可能意外失败并且不提供排序保证,所以只有在很少的情况下才对compareAndSet 进行适当地选择。

参数:expect - 预期值   update - 新值

返回:如果成功,则返回 true。

 

7、public final int getAndIncrement()   以原子方式将当前值加 1。

返回:以前的值

 

8、public final int getAndDecrement()    以原子方式将当前值减 1。

返回:以前的值

 

9、public final int getAndAdd(int delta)    以原子方式将给定值与当前值相加。

参数:delta - 要加上的值

返回:以前的值

 

10、public final int incrementAndGet()    以原子方式将当前值加 1。

返回:更新的值

 

11、public final int decrementAndGet()   以原子方式将当前值减 1。

返回:更新的值

 

12、public final int addAndGet(int delta)   以原子方式将给定值与当前值相加。

参数:delta - 要加上的值

返回:更新的值

 

18、public StringtoString()   返回当前值的字符串表示形式。

覆盖:Object 中的toString

返回:当前值的字符串表示形式。

 

19、public int intValue()   从类Number 复制的描述   int 形式返回指定的数值。这可能会涉及到舍入或取整。

指定者:Number 中的intValue

返回:转换为 int 类型后该对象表示的数值。

 

20、public long longValue()   从类Number 复制的描述

long 形式返回指定的数值。这可能涉及到舍入或取整。

指定者:Number 中的longValue

返回:转换为 long 类型后该对象表示的数值。

 

21、public float floatValue()

从类 Number 复制的描述

float 形式返回指定的数值。这可能会涉及到舍入。

指定者:Number 中的floatValue

返回:转换为 float 类型后该对象表示的数值。

22、public double doubleValue()

从类 Number 复制的描述

double 形式返回指定的数值。这可能会涉及到舍入。

指定者:Number 中的doubleValue

返回:转换为 double 类型后该对象表示的数值。

原文地址:https://www.cnblogs.com/asndxj/p/13594726.html