UnSafe CAS 操作

UnSafe

乐观锁

  • CAS 原子操作

compareAndSwapInt

  • 从var1对象的起始指针移动var2位,如果该位置上存储的值等于var4,那么将该值修改成var5
  • var1 比较对象
  • var2 指针偏移量
  • var4 条件值
  • var5 新值
    public final native boolean compareAndSwapInt(Object var1, long var2, int var4, int var5);

getObjectVolatile

  • 获取当前对象var1在该对象指定偏移量var2上的值
    public native Object getObjectVolatile(Object var1, long var2);

putObject

  • 修改对象var1上偏移var2后位置上的值为var4
   public native void putObject(Object var1, long var2, Object var4);

objectFieldOffset

  • 获取当前对象var1字段在该对象的偏移量
  • var1:对象中的字段
   public native long objectFieldOffset(Field var1);
posted @   贺艳峰  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示