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-线程基础与生命周期