LongAccumulator源码解析
LongAccumulator类介绍
LongAccumulator也是JDK提供的基于Striped64实现的线程安全的long累加器。
类图
主要属性
1 | private final LongBinaryOperator function; |
function:二元函数
identity:其实就是LongAdder中的base,它是将double类型的初始值转为long保存。
主要方法
LongAccumulator(LongBinaryOperator,long)
1 | /** |
初始化一个LongAccumulator对象。
accumulate(long)
1 | /** |
get()
1 | /** |
获取base和当前所有cell的累加和
reset()
1 | /** |
重置base和各个cell的值
getThenReset()
1 | /** |
获取当前和以及重置
toString()
1 | /** |
返回当前和的String形式
longValue()
1 | /** |
返回当前和
intValue()
1 | /** |
返回当前和的int型。此处要注意溢出,是一个向下转型
floatValue()
1 | /** |
返回当前和的float型。
doubleValue()
1 | /** |
返回当前和的double型。