Java并发总览
本篇定位
本篇是 03-Java并发 分区入口。并发是 Java 面试体系的最后一根支柱:基础(线程是什么、怎么建)→ 关键字(synchronized/volatile 怎么保证安全)→ 线程池(生产环境的真实用法)→ Lock 与 AQS(显式锁的原理地基)→ 并发容器与工具(CAS、ThreadLocal、并发集合)→ 面试题库。以面试高频考点为主线,配合可运行的代码示例。前置知识:JMM 与内存可见性(本块所有可见性讨论的地基)、Java 多线程编程(鱼皮教程,最基础的入门)。
六篇动线
| 篇 | 回答的问题 | 前置 |
|---|---|---|
| 01-线程基础 | 线程怎么创建?六种状态怎么流转?sleep/join/interrupt 各干什么? | 面向对象基础 |
| 02-synchronized与volatile | 锁的是什么?锁升级是怎么回事?volatile 为什么不保证原子性? | JMM |
| 03-线程池 | 七个参数什么含义?任务提交后走什么流程?为什么禁用 Executors? | 线程基础 |
| 04-Lock与AQS | ReentrantLock 比 synchronized 强在哪?AQS 怎么用 state+队列排队? | synchronized、JMM |
| 05-并发容器与工具类 | ConcurrentHashMap 怎么保证线程安全?ThreadLocal 为什么会内存泄漏? | 容器块、AQS |
| 06-CompletableFuture异步编程 | 异步编排怎么写? | 线程池 / 全部 |
| 07-并发高频面试题 | 面试怎么考?18 题速刷 | 全部 |
学习建议
- 先把 JMM 过一遍再来——并发的可见性、重排序、happens-before 全是 JMM 的延伸;
- 每篇代码都建议亲手跑一遍,并发问题"跑过才理解"(比如线程交替输出、死锁复现);
- 面试优先级:线程池 > synchronized/volatile > ConcurrentHashMap > ThreadLocal > AQS > JUC 工具类。
⬅️ 01-容器高频面试题 🏠 00-Java ➡️ 01-线程基础与生命周期
💬 评论