JUC 工具类
https://kaiwu.lagou.com/course/courseInfo.htm?courseId=1#/detail/pc?id=6
JUC 是 Java 提供的用于多线程处理的工具类库,来看其中的常用工具类的作用,如下图所示。
如上图所示,第一行的类都是基本数据类型的原子类,包括 AtomicBoolean、AtomicLong、AtomicInteger 类。
AtomicLong 通过 unsafe 类实现,基于CAS。unsafe 类是底层工具类,JUC 中很多类的底层都使用到了 unsafe 包中的功能。unsafe 类提供了类似 C 的指针操作,提供 CAS 等功能。unsafe 类中的所有方法都是 native 修饰的。
LongAdder等 4 个类是 JDK1.8 中提供的更高效的操作类。LongAdder 基于 Cell 实现,使用分段锁思想,是一种空间换时间的策略,更适合高并发场景;LongAccumulator 提供了比 LongAdder 更强大的功能,能够指定对数据的操作规则,例如可以把对数据的相加操作改成相乘操作。
第二行中的类提供了对对象的原子读写功能,后两个类 AtomicStampedReference 和 AtomicMarkableReference 用于解决前面提到的 ABA 问题,分别基于时间戳和标记位来解决问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)