当前位置: 首页 > news >正文

java高并发系列 - 第23天:JUC中原子类,一篇就够了

java高并发系列 - 第23天:JUC中原子类

这是java高并发系列第23篇文章,环境:jdk1.8。

本文主要内容

  • JUC中的原子类介绍
  • 介绍基本类型原子类
  • 介绍数组类型原子类
  • 介绍引用类型原子类
  • 介绍对象属性修改相关原子类

预备知识

JUC中的原子类都是都是依靠volatile、CAS、Unsafe类配合来实现的,需要了解的请移步:
volatile与Java内存模型
java中的CAS
JUC底层工具类Unsafe

JUC中原子类介绍

什么是原子操作?

atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰,所以,所谓原子类说简单点就是具有原子操作特征的类,原子操作类提供了一些修改数据的方法,这些方法都是原子操作的,在多线程情况下可以确保被修改数据的正确性。

JUC中对原子操作提供了强大的支持,这些类位于java.util.concurrent.atomic包中,如下图:
在这里插入图片描述
JUC中原子类思维导图

http://www.lryc.cn/news/104453.html

相关文章:

  • 《HeadFirst设计模式(第二版)》第一章源码
  • insert into select用法
  • 图像识别技术:计算机视觉的进化与应用展望
  • 【免费送书】重新定义Python学习!
  • Qt 4. 发布exe
  • 消息队列的使用场景以及优缺点
  • 掌握Python的X篇_17_循环语句(while;for var in ;range)
  • IDEA maven 报错 malformed \uxxx encoding
  • Django实现音乐网站 ⑵
  • Vue 基础语法(二)
  • kafka raft协议
  • 平板光波导中导模的(注意不是泄露模)传播常数β的matlab计算(验证了是对的)
  • JVM面试题--JVM组成
  • 【Golang 接口自动化05】使用yml管理自动化用例
  • 【【STM32学习-3】】
  • 代码随想录第四十八天|198、213、337.打家劫舍
  • js笔记总结
  • 第四章:Spring上
  • 【时频分析,非线性中频】非线性STFT在瞬时频率估计中的应用(Matlab代码实现)
  • MTK平台关机流程和原因(二)
  • 【Python】pyqt6入门到入土系列,非常详细...
  • TCP socket编程
  • HTTP——一、了解Web及网络基础
  • [论文笔记] chatgpt系列 2.6 DeepSpeed-chat 数据集
  • 探究SAM和眼球追踪技术在自动医学图像分割的应用(2023+GazeSAM: What You See is What You Segment)
  • excle中的条件求和SUMIF
  • python-网络爬虫.Request
  • 时序预测 | MATLAB实现GRNN广义回归神经网络时间序列预测(多指标,多图)
  • 如何看待低级爬虫与高级爬虫?
  • 3.分支与循环