zoukankan      html  css  js  c++  java
  • Atomic 原子类 lq

    1. JUC 包中的原子类是哪 4 类?
      • 基本类型
        • AtomicInteger:整形原子类
        • AtomicLong:长整型原子类
        • AtomicBoolean:布尔型原子类
      • 数组类型
        • AtomicIntegerArray:整形数组原子类
        • AtomicLongArray:长整形数组原子类
        • AtomicReferenceArray:引用类型数组原子类
      • 引用类型
        • AtomicReference:引用类型原子类
        • AtomicStampedReference:原子更新带有版本号的引用类型。该类将整数值与引用关联起来,可用于解决原子的更新数据和数据的版本号,可以解决使用 CAS 进行原子更新时可能出现的 ABA 问题。
        • AtomicMarkableReference :原子更新带有标记位的引用类型
      • 对象的属性修改类型
        • AtomicIntegerFieldUpdater:原子更新整形字段的更新器
        • AtomicLongFieldUpdater:原子更新长整形字段的更新器
        • AtomicReferenceFieldUpdater:原子更新引用类型字段的更新器
    2. AtomicInteger 的使用
      • public final int get() //获取当前的值
      • public final int getAndSet(int newValue)//获取当前的值,并设置新的值
      • public final int getAndIncrement()//获取当前的值,并自增
      • public final int getAndDecrement() //获取当前的值,并自减
      • public final int getAndAdd(int delta) //获取当前的值,并加上预期的值
      • boolean compareAndSet(int expect, int update) //如果输入的数值等于预期值,则以原子方式将该值设置为输入值(update)
      • public final void lazySet(int newValue)//最终设置为newValue,使用 lazySet 设置之后可能导致其他线程在之后的一小段时间内还是可以读到旧的值。
  • 相关阅读:
    Eclipse 修改maven 仓储Repository位置
    使用Eclipse构建Maven的SpringMVC项目
    The word is not correctly spelled问题解决
    navicat for mysql 显示中文乱码解决办法
    Missing artifact net.sf.json-lib:json-lib:jar:2.2.3:compile
    ApacheTiles实战
    使用Apache Tiles3.x构建界面布局
    SpringMVC整合Tiles框架
    最近遇到的问题
    Unity3D流行的游戏开发人员构建高速检查站系统
  • 原文地址:https://www.cnblogs.com/rbwbear/p/15567711.html
Copyright © 2011-2022 走看看