当前位置: 首页 > 面试题库 >

JUC 包中的原子类是哪4类?

慕容越泽
2023-03-14
本文向大家介绍JUC 包中的原子类是哪4类?相关面试题,主要包含被问及JUC 包中的原子类是哪4类?时的应答技巧和注意事项,需要的朋友参考一下

根据操作的数据类型,可以将JUC包中的原子类分为4类

基本类型

使用原子的方式更新基本类型

  • AtomicInteger:整型原子类
  • AtomicLong:长整型原子类
  • AtomicBoolean :布尔型原子类

数组类型

使用原子的方式更新数组里的某个元素

  • AtomicIntegerArray:整型数组原子类
  • AtomicLongArray:长整型数组原子类
  • AtomicReferenceArray :引用类型数组原子类

引用类型

  • AtomicReference:引用类型原子类
  • AtomicReferenceFieldUpdater:原子更新引用类型里的字段
  • AtomicMarkableReference :原子更新带有标记位的引用类型

对象的属性修改类型

  • AtomicIntegerFieldUpdater:原子更新整型字段的更新器
  • AtomicLongFieldUpdater:原子更新长整型字段的更新器
  • AtomicStampedReference :原子更新带有版本号的引用类型。该类将整数值与引用关联起来,可用于解决原子的更新数据和数据的版本号,可以解决使用 CAS 进行原子更新时可能出现的 ABA 问题。
  • AtomicMarkableReference:原子更新带有标记的引用类型。该类将 boolean 标记与引用关联起来,也可以解决使用 CAS 进行原子更新时可能出现的 ABA 问题。
 类似资料:
  • 主要内容:1.基本类型原子类,2.数组类型原子类,3.引用类型原子类,4.对象的属性修改原子类,6.原子操作增强类原理深度解析,7.LongAdder为什么快,8.总结18罗汉: 1.AtomicBoolean 2.AtomicInteger 3.AtomicIntegerArray 4.AtomicIntegerFieldUpdater 5.AtomicLong 6.AtomicLongArray 7.AtomicLongFieldUpdater 8.AtomicMarkableReferen

  • 主要内容:文章目录,1.CountDownLatch,2.CyclicBarrier,3.Semaphore,4.ExchangerCountDownLatch: 减少计数 CyclicBarrier: 循环栅栏 Semaphore: 信号量 ExChanger: 交换器 1.CountDownLatch CountDownLatch,俗称闭锁,作用是类似加强版的 Join,是让一组线程等待其他的线程完成工作以后才执行 就比如在启动框架服务的时候,我们主线程需要在环境线程初始化完成之后才能启动,

  • Java JUC都有哪些类库? 需要掌握哪些并发类库?

  • 原子操作 是个不可分割的操作。 在系统的所有线程中,你是不可能观察到原子操作完成了一半这种情况的; 它要么就是做了,要么就是没做,只有这两种可能。 如果从对象读取值的加载操作是 原子 的,而且对这个对象的所有修改操作也是 原子 的, 那么加载操作得到的值要么是对象的初始值,要么是某次修改操作存入的值。 另一方面,非原子操作可能会被另一个线程观察到只完成一半。 如果这个操作是一个存储操作,那么其他线

  • package locks; import java.util.Random; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class AppOf

  • 问题内容: 我已经读到,使用原子包类使我们能够做到线程安全,减少代码锁定。但是我不确定原子包类中的方法如何在不使用锁或任何syncize关键字的情况下如何提供线程安全性。任何帮助将不胜感激。 问题答案: 他们使用非常低级的指令,例如Compare和Swap,以及sun.misc.Unsafe类中的多种其他方法。 基本上,像这样的方法调用将对应于唯一的处理器指令,从而消除了许多多线程问题。