AtomicReference与AtomicReferenceFieldUpdater的区别

AtomicReference,以下简称AR;AtomicReferenceFieldUpdater,以下简称ARFU。两者功能一致,原理相同,都基于Unsafe的CAS操作。

  • AR通常作为对象的成员使用,启用指针压缩的情况下内存占用16B,不启用占用24B。

  • ARFU通常作为类的静态成员使用,对实例成员进行修改。

总结:ARFU更适合频繁创建实例的情况。

使用对比:

  • AR


    AtomicReference与AtomicReferenceFieldUpdater的区别_第1张图片
    AR使用截图.jpg
  • ARFU


    AtomicReference与AtomicReferenceFieldUpdater的区别_第2张图片
    ARFU使用截图.jpg

你可能感兴趣的:(AtomicReference与AtomicReferenceFieldUpdater的区别)