Unsafe类中的compareAndSwapInt(Object var1, long var2, int var4, int var5)参数解释
程序员文章站
2022-05-12 11:30:01
...
public final native boolean compareAndSwapInt(Object var1, long var2, int var4, int var5);
- var1:要修改的对象起始地址 如:0x00000111
- var2:需要修改的具体内存地址 如100 。0x0000011+100 = 0x0000111就是要修改的值的地址
- 注意没有var3
- var4:期望内存中的值,拿这个值和0x0000111内存中的中值比较,如果为true,则修改,返回ture,否则返回false,等待下次修改。
- var5:如果上一步比较为ture,则把var5更新到0x0000111其实的内存中。
原子操作,直接操作内存。