Atomic long 和long的区别
Atomic long 和long:
前者是一个对象,包含对象头(object header)以用来保存hashcode、lock等信息,32位系统占用8个字节,64位系统占16个字节,所以在64位系统的情况下:
* volatile long = 8 bytes
*AtomicLong = 8 bytes (volatile long) + 16bytes(对象头) + 8bytes(引用) = 32bytes
至少节约了24字节!
结论:Atomic*objects ->volatile primary type + static Atomic*FieldUpdater
《借鉴Netty源码设计》