AtomicInteger内部的重要参数

AtomicInteger内部的重要参数

  1. Unsafe
    是CAS的核⼼类,由于Java⽅法⽆法直接访问底层系统,需要通过本地(native)⽅法来访问,Unsafe
    相当于⼀个后⾯,基于该类可以直接操作特定内存的数据。Unsafe类存在于sum.misc包中,其内部⽅
    法操作可以像C的指针⼀样直接操作内存,因为Java中CAS操作的执⾏依赖于Unsafe类的⽅法。
    注意Unsafe类中的所有⽅法都是native修饰的,也就是说Unsafe类中的⽅法都直接调⽤操作系统底层资
    源执⾏相应任务
  2. 变量valueOffset,表示该变量值在内存中的偏移地址,因为Unsafe就是根据内存偏移地址获取数
    据的。
  3. 变量value⽤volatile修饰,保证了多线程之间的内存可⻅性。
    AtomicInteger.getAndIncrement()调⽤了 Unsafe.getAndAddInt()⽅法。 Unsafe类的⼤部分
    ⽅法都是 native的,⽤来像C语⾔⼀样从底层操作内存。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值