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