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源碼設計》