这门课解决什么问题
日常业务开发多数是单线程思维,代码能跑就行,但一旦遇到高并发场景,比如大促时的库存扣减、消息异步消费、定时任务批量处理,往往会暴露线程死锁、内存可见性、资源竞争等问题。这门 Java 并发实战课解决的就是从单线程思维转向多线程协同的痛点,帮你理解线程生命周期、同步机制、锁的获取与释放背后的底层逻辑,而不是停留在套用工具类。它覆盖了并发基础概念、线程状态流转、锁机制实现、生产消费模型等核心场景,同时兼顾面试中常被追问的死锁排查、线程通信原理等要点。如果你写过多线程代码但总靠试错调参数,或者面试时被问线程安全就卡壳,这门课能帮你补齐这块短板。
适合什么基础与建议先看哪几块
这门资料不适合零基础转行者,默认你已经熟悉 Java 语法、面向对象、集合框架,写过简单的业务代码。如果你连 List 和 Map 都没摸过,建议先补基础再来看。对于有半年到一年开发经验、想系统梳理并发知识的人,建议先看并发基础篇,重点看线程状态、并发与同步、线程死锁这几块,把状态流转和竞争条件搞透。接着看 ReentrantLock 和生产消费模型,这两块是理解锁机制和线程协作的关键。如果你正在准备面试,可以把线程死锁、Wait 和 Notify、线程中断这些章节作为重点复习对象,因为面试官常从这些点切入追问底层实现。
学完能独立做什么与资料怎么配合练习
学完后,你应该能独立设计一个线程安全的库存扣减模块,能基于生产消费模型搭建异步任务队列,能识别代码中潜在的死锁风险并给出修复方案,而不是盲目加 synchronized。资料里有基础篇和进阶篇两部分,基础篇建议边看边跟着敲代码,尤其是开启线程的三种形式、Wait 和 Notify、ReentrantLock 这几节,自己写一遍生产消费模型,体会锁的获取和释放时机。进阶篇的内容建议结合实际项目场景练习,比如写一个简单的线程池任务调度器,或者模拟多线程读写共享计数器,观察不同同步策略下的性能差异。资料不是看完就完事的视频集,重点在于动手复现每个并发问题,自己造一个死锁场景再解开它,这样理解才扎实。
掌握JAVA并发编程技术要点,掌握JAVA并发编程面试核心要点
课程目录
* 01 JAVA并发编程基础篇/
* 01 并发基础.mp4 06:18
* 02 开启线程的三种形式1.mp4 07:27
* 03 开启线程的三种形式2.mp4 10:36
* 04 线程状态.mp4 02:33
* 05 并发与同步.mp4 13:10
* 06 线程死锁.mp4 02:52
* 07 线程Join.mp4 04:24
* 08 线程中断.mp4 05:58
* 09 线程礼让.mp4 03:37
* 10 Wait和Notify1.mp4 05:22
* 11 Wait和Notify2.mp4 10:06
* 12 ReentrantLock.mp4 15:12
* 13 生产消费者模型1.mp4 06:16
* 14 生产消费者模型2.mp4 11:48
* 02 JAVA并发编程进阶篇/
* 01 CPU多级缓存.mp4 07:16
* 02 CPU缓存一致问题.mp4 05:03
* 03 缓存一致性协议.mp4 04:54
* 04 Java内存模型1.mp4 04:23
* 05 Java内存模型2.mp4 03:37
* 06 Java内存模型3.mp4 04:52
* 07 JavaJMM小结.mp4 04:00
* 08 内存交互操作与规则.mp4 08:26
* 09 并发的优势与风险.mp4 02:50
* 10 synchronized可见性问题.mp4 04:20
* 11 缓存一致性协议和线程同步.mp4 03:27
* 12 类的线程安全.mp4 06:12
* 13 线程安全的三个体现.mp4 06:29
* 14 指令重排.mp4 08:07
* 15 指令重排对单例模式的影响.mp4 05:40
* 16 原子性Atomic包.mp4 02:54
* 17 AtomicInteger操作原理.mp4 10:19
* 18 AtomicLong1.mp4 04:30
* 19 AtomicLong2.mp4 01:16
* 20 LongAdder.mp4 05:13
* 21 AtomicReference.mp4 01:25
* 22 AtomicIntegerArray.mp4 01:30
* 23 AtomicFieldUpdater.mp4 04:53
* 24 CAS和ABA.mp4 07:35
* 25 AtomicBoolean.mp4 06:04
* 26 AtomicBoolean补充.mp4 04:34
* 27 synchronized1.mp4 16:47
* 28 synchronized2.mp4 09:18
* 29 synchronized3.mp4 03:39
* 30 synchronized4.mp4 05:13
* 31 synchronized5.mp4 07:05
* 32 synchronized面试点小结.mp4 04:17
* 33 线程安全-可见性.mp4 07:35
* 34 synchronized可见性.mp4 02:34
* 35 volatile可见性.mp4 03:56
* 36 volatile有序性.mp4 02:58
* 37 线程安全-有序性.mp4 05:30
* 38 发布安全对象.mp4 08:51
* 39 单例对象的状态.mp4 02:30
* 40 线程封闭.mp4 15:09
* 41 避免访问不安全对象.mp4 04:15
* 42 并发判断问题.mp4 01:32
* 43 CopyOnWriteArrayList.mp4 06:51
* 44 ConcurrentSkipListSet.mp4 07:15
* 45 ConcurrentHashMap.mp4 03:58
* 46 ConcurrentSkipListMap.mp4 06:12
* 03 JAVA并发编程高级篇/
* 01 AQS介绍1.mp4 03:09
* 02 AQS介绍2.mp4 04:16
* 03 AQS实现思路.mp4 10:21
* 04 AQS入队流程.mp4 10:38
* 05 条件等待队列1.mp4 05:09
* 06 条件等待队列2.mp4 06:52
* 07 (选学)AwaitSignal源码流程.mp4 27:27
* 08 ReentrantLock.mp4 10:20
* 09 (选学)Lock和Unlock源码流程.mp4 25:46
* 10 Semaphore.mp4 06:13
* 11 (选学)Semaphore源码流程1.mp4 11:54
* 12 (选学)Semaphore源码流程2.mp4 15:39
* 13 CountDownLatch.mp4 04:38
* 14 CyclicBarrier1.mp4 06:24
* 15 CyclicBarrier2.mp4 04:19
* 16 ReentrantReadWriteLock.mp4 02:10
* 17 BlockingQueue.mp4 06:41
* 18 ArrayBlockingQueue.mp4 04:25
* 19 DelayQueue.mp4 09:24
* 20 其他队列.mp4 02:10
* 21 FutureTask1.mp4 08:49
* 22 FutureTask2.mp4 03:57
* 23 (选学)FutureTask源码流程1.mp4 20:50
* 24 (选学)FutureTask源码流程2.mp4 03:35
* 25 Fork_Join.mp4 09:21
* 26 线程池.mp4 01:30
* 27 线程池核心参数.mp4 07:58
* 28 核心参数估算.mp4 06:34
* 29 线程池的状态.mp4 03:36
* 30 线程池重要方法.mp4 01:56
* 31 线程池的使用1.mp4 07:38
* 32 线程池的使用2.mp4 13:49
* 33 线程池的使用3.mp4 02:40
* 34 并发编程注意点.mp4 06:02
* 35 SpringBean的线程安全.mp4 14:07
* 36 线程死锁查看.mp4 06:04
* 37 高频面试点1.mp4 04:56
* 38 高频面试点2.mp4 13:49
* 39 Hashmap死锁1.mp4 08:58
* 40 Hashmap死锁2.mp4 01:37
* 41 Hashmap死锁3.mp4 09:41
* 42 并发编程总结.mp4 08:56
* 43 并发项目演进.mp4 22:29






