// value 字段是 volatile 的,可以保证可见性。publicfinalintincrementAndGet(){// U 是 Unsafe 类型, getAndAddInt 实际是 CAS 操作returnU.getAndAddInt(this,VALUE,1)+1;}@IntrinsicCandidatepublicfinalintgetAndAddInt(Objecto,longoffset,intdelta){intv;do{v=getIntVolatile(o,offset);}while(!weakCompareAndSetInt(o,offset,v,v+delta));returnv;}