摘要: 7.1 原子类 java.util.consurrent.atomic 7.2 没有 CAS 之前 多线程环境中不使用原子类保证线程安全 i++ (基本数据类型) public class T3 { volatile int number = 0; public int getNumber() { 阅读全文
posted @ 2026-04-15 12:56 清风含薰 阅读(3) 评论(0) 推荐(0)
摘要: 6.1 被 volatile 修饰的变量有两大特点 特点: 可见性 有序性:有排序要求,有时需要禁重排 内存语义: 当写一个 volatile 变量时,JMM 会把该线程对应的本地内存中的共享变量值立刻刷新回主内存中 当读一个 volatile 变量时,JMM 会把该线程对应的本地内存设置为无效,重 阅读全文
posted @ 2026-04-14 21:08 清风含薰 阅读(4) 评论(0) 推荐(0)
摘要: 5.1 先从大厂面试开始 你知道什么是 Java 内存模型 JMM 嘛? JMM 和 volatile 它们两个之间的关系? JMM 有那些特征或它的三大特征是什么? 为什么要有 JMM,它为什么出现?作用和功能是什么? happens-before 先行并发原则你有了解过嘛? 5.2 计算机硬件存 阅读全文
posted @ 2026-04-14 11:01 清风含薰 阅读(2) 评论(0) 推荐(0)
摘要: 4.1 线程中断机制 4.1.1 从阿里蚂蚁金服面试题讲起 java.lang.Thread 下的三个方法: 如何中断一个运行中的线程? 如何停止一个运行中的线程? 4.1.2 什么是中断机制 首先,一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止,自己来决定自己的命运,所以Th 阅读全文
posted @ 2026-04-13 21:33 清风含薰 阅读(3) 评论(0) 推荐(0)
摘要: 3.1 从轻松的乐观锁和悲观锁 悲观锁: 认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改,synchronized 和 Lock 的实现类都是悲观锁,适合写操作多的场景,先加锁可以保证写操作时数据正确,显示的锁定之后再操作同步资源 狼性锁 阅读全文
posted @ 2026-04-13 10:49 清风含薰 阅读(2) 评论(0) 推荐(0)
摘要: 学习并发 JUC全套教程,juc并发编程(含金量对标阿里P6-P7) 阅读全文
posted @ 2026-04-13 10:04 清风含薰 阅读(3) 评论(0) 推荐(0)
摘要: 第二章 CompletableFuture 2.1 Future 接口理论知识复习 Future 接口(FutureTask 实现类)定义了操作异步任务执行的一些方法,如获取异步任务的执行结果、取消异步任务的执行、判断任务是否被取消、判断任务执行是否完毕等 举例:比如主线程让一个子线程去执行任务,子 阅读全文
posted @ 2026-04-13 09:16 清风含薰 阅读(4) 评论(0) 推荐(0)
摘要: 第一章 线程基础知识复习 1 把锁:synchronized 2 个并: 并发(concurrent):是在同一实体上的多个事件中,是在一台机器上“同时”处理多个任务,同一时刻,其实是只有一个事情再发生 并行(parallel):是在不同实体上的多个事件,是在多台处理器上同时处理多个任务,同一时刻, 阅读全文
posted @ 2026-04-13 09:06 清风含薰 阅读(0) 评论(0) 推荐(0)