02 2023 档案
摘要:原子操作类之18罗汉增强 原子操作类 java.util.concurrent.atomic包下的所有类 上图中分为了两部分,为什么呢? 看下阿里巴巴手册 基本类型原子类 // 可以原子方式更新的值 boolean AtomicBoolean // 可以原子方式更新的 int值 AtomicInte
阅读全文
摘要:CAS 原子类 java.util.concurrent.atomic包下的所有相关类和API 没有CAS之前 多线程环境不使用原子类保证线程安全i++(基本数据类型),需要用到synchronized锁,但是它比较重,效率不高。 public class Test { volatile int n
阅读全文
摘要:volatile与JMM volatile修改的变量有两大特点 可见性 写完后立即刷新回主内存并及时发出通知,大家可以去主内存拿最新版,前面的修改对后面所有线程可见 有序性(禁重排) 重排序是指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段,有时候会改变程序语句的先后顺序不存在数据
阅读全文
摘要:Java内存模型之JMM 问题 你知道什么是Java内存模型JMM吗? JMM与volatile它们两个之间的关系?(下一章详细讲解) JMM有哪些特性or它的三大特性是什么? 为什么要有JMM,它为什么出现?作用和功能是什么? happens-before先行发生原则你有了解过吗? 计算机硬件存储
阅读全文