一度认为原子是不可分割的最小单位,故原子类可以认为其操作都是不可分割的
那为什么要有原子类呢?
对于多线程访问同一个变量,我们需要加锁,而锁是比较消耗性能的
JDk1.5之后,新增的原子操作类提供了一种简单、性能高效、线程安全地更新一个变量的方式,这些类同样位于JUC包下的原子包下,发展到JDk1.8,该包下共有17个类,涵盖了atomyupdate基本类型、atomyupdate备份、atomyupdate属性、atomyupdate引用
新增的原子类:DoubleAccumulator、DoubleAdder、LongAccumulator、LongAdder、Striped64