适合人群
有JAVA基础人群均可学习
想换工作的开发者、毕业生
想提升JAVA并发编程能力的所有JAVA开发者
技术储备
有JAVA基础均可学习
环境参数
JDK 8或以上均可
idea 2019以上均可

目录大纲:

第1章 课程介绍
1 节|6分钟

展开 

  • 视频:
    1-1 课程简介
    试看
    05:32
第2章 并发编程学前储备
8 节|95分钟

收起 

  • 视频:
    2-1 本章介绍
    01:54
  • 视频:
    2-2 首先了解程序是如何运行的?(存储器的层次结构–CPU、缓存、内存)(1)
    试看
    16:43
  • 视频:
    2-3 首先了解程序是如何运行的?(存储器的层次结构–CPU、缓存、内存)(2)
    10:59
  • 视频:
    2-4 使用Thread类和Runnable接口创建线程源码深入讲解
    21:01
  • 视频:
    2-5 两种创建线程的方式分析与对比
    05:08
  • 视频:
    2-6 使用Callable接口创建线程的原理和应用场景分析
    15:15
  • 视频:
    2-7 多线程中sleep和join方法详解
    12:57
  • 视频:
    2-8 什么场景下使用线程中断?
    10:42
第3章 深度剖析线程安全性问题与底层原理
19 节|190分钟

收起 

  • 视频:
    3-1 什么是线程安全?线程安全会带来的哪些底层问题?
    02:34
  • 视频:
    3-2 分析保证线程安全的三个性质-原子性、可见性、有序性
    03:42
  • 视频:
    3-3 多场景剖析未保证原子性的问题
    09:26
  • 视频:
    3-4 如何保证原子性操作?
    02:22
  • 视频:
    3-5 synchronized关键字可在哪些地方将代码“锁”住?
    16:31
  • 视频:
    3-6 使用wait和notify方法实现生产者消费者模式
    16:44
  • 视频:
    3-7 使用synchronized关键字实现的锁内存存储原理深入剖析
    12:52
  • 视频:
    3-8 如何实现锁升级?
    09:40
  • 视频:
    3-9 什么场景下使用Java提供的原子类AtomicInteger保证原子类?
    13:32
  • 视频:
    3-10 原子类是如何利用CAS(比较并交换)保证线程安全的
    03:29
  • 视频:
    3-11 高并发下AtomicInteger的性能 VS synchronized的性能
    11:23
  • 视频:
    3-12 高并发下AtomicBoolean和AtomicLong的用法
    07:50
  • 视频:
    3-13 高并发下AtomicIntegerArray和AtomicReference的用法
    11:45
  • 视频:
    3-14 剖析未可见性的问题
    10:36
  • 视频:
    3-15 volatile可见性剖析
    07:24
  • 视频:
    3-16 单例的创建方式及原理深入剖析
    17:54
  • 视频:
    3-17 volatile禁止重排序原理
    15:14
  • 视频:
    3-18 volatile在Dubbo和秒杀中的应用
    15:05
  • 视频:
    3-19 本章总结
    01:57
第4章 Java中的7大常用锁实战
15 节|156分钟

展开 

  • 视频:
    4-1 课程介绍
    01:03
  • 视频:
    4-2 锁的7大分类
    04:15
  • 视频:
    4-3 Lock接口的常见方法有哪些?
    10:48
  • 视频:
    4-4 Lock锁如何实现生产者消费者模式-Condition接口?
    13:58
  • 视频:
    4-5 选用锁时该用synchronized关键字还是Lock接口?
    02:02
  • 视频:
    4-6 公平锁和非公平锁应该选用哪个?
    10:04
  • 视频:
    4-7 (可中断和不可中断)如何使用Lock接口实现可中断锁?
    07:48
  • 视频:
    4-8 (共享锁独占锁)如何根据读操作和写操作拆分锁粒度-读写锁ReadWriteLock?
    24:30
  • 视频:
    4-9 (读写锁)读写锁ReadWriteLock何时使用锁的降级?(一)
    15:46
  • 视频:
    4-10 (读写锁)读写锁ReadWriteLock何时使用锁的降级?(二)
    17:01
  • 视频:
    4-11 (共享锁)信号量Semaphore的应用场景
    24:17
  • 视频:
    4-12 (死锁):什么是死锁?如何排查死锁问题?
    16:46
  • 视频:
    4-13 (死锁)形成死锁的条件与如何避免死锁?
    03:15
  • 视频:
    4-14 (活锁)什么是活锁与如何避免活锁的发生?
    01:57
  • 视频:
    4-15 本章总结
    01:51
第5章 并发容器的线程安全性与实战
8 节|59分钟

展开 

  • 视频:
    5-1 为什么HashMap线程不安全?
    05:11
  • 视频:
    5-2 ConcurrentHashMap是怎么保证并发安全的?
    08:54
  • 视频:
    5-3 ConcurrentHashMap不可以用NULL键和NULL值的原理深入剖析
    07:19
  • 视频:
    5-4 ConcurrentHashMap中的原子方法有哪些?
    18:44
  • 视频:
    5-5 漫谈ConcurrentHashMap的应用(业务,缓存)
    07:15
  • 视频:
    5-6 并发安全的List – CopyOnWriteArrayList原理与使用场景分析
    07:48
  • 视频:
    5-7 Java中还有哪些线程安全的容器?
    02:14
  • 视频:
    5-8 并发安全的容器总结
    01:07
第6章 线程池原理剖析与实战
10 节|73分钟

展开 

  • 视频:
    6-1 什么是线程池?使用线程池来维护线程有哪些优势?
    01:25
  • 视频:
    6-2 使用线程池如何确定合适的线程数?
    03:03
  • 视频:
    6-3 深入剖析线程池的核心设计原理
    04:47
  • 视频:
    6-4 自定义线程池的各个参数详解
    09:00
  • 视频:
    6-5 如何选择线程池的队列?
    19:00
  • 视频:
    6-6 如何使用线程工厂 – ThreadFactory控制线程创建行为?
    10:22
  • 视频:
    6-7 如何优雅处理线程池内出现的异常?
    11:09
  • 视频:
    6-8 剖析线程池的四种拒绝策略,如何自定义拒绝策略?
    11:27
  • 视频:
    6-9 关闭线程池的方法shutDown和shutDownNow该用哪个?
    01:07
  • 视频:
    6-10 本章总结
    01:19
第7章 线程间的协作原理场景剖析
10 节|112分钟

展开 

  • 视频:
    7-1 本章介绍
    00:53
  • 视频:
    7-2 如何使用同步工具CountDownLatch协调多线程?
    16:50
  • 视频:
    7-3 如何使用同步工具CyclicBarrier协调多线程?
    15:29
  • 视频:
    7-4 异步编程(一)CompletableFuture介绍
    09:30
  • 视频:
    7-5 异步编程(二)开启异步任务
    06:20
  • 视频:
    7-6 异步编程(三)异步任务回调
    07:46
  • 视频:
    7-7 异步编程(四)异步任务编排
    17:37
  • 视频:
    7-8 异步编程(五)竞争性任务处理
    07:48
  • 视频:
    7-9 异步编程(六)异步任务异常处理
    13:23
  • 视频:
    7-10 CompletionService:如何批量执行异步任务?
    15:45
第8章 高性能队列 Disruptor原理剖析
12 节|110分钟

展开 

  • 视频:
    8-1 本章介绍
    01:22
  • 视频:
    8-2 高性能队列disruptor介绍
    03:51
  • 视频:
    8-3 如何使用Disruptor?
    12:33
  • 视频:
    8-4 如何简化Disruptor开发步骤
    07:14
  • 视频:
    8-5 Disruptor 多生产者并发编程:加速大规模数据处理应用
    05:06
  • 视频:
    8-6 多消费者模式
    06:39
  • 视频:
    8-7 如何使用Disruptor的多级业务逻辑处理器?
    10:20
  • 视频:
    8-8 Disruptor为什么这么快?
    09:39
  • 视频:
    8-9 实战-秒杀业务中使用Disruptor(一)
    23:24
  • 视频:
    8-10 -1实战-秒杀业务中使用Disruptor(二)
    14:15
  • 视频:
    8-11 -2实战-秒杀业务中使用Disruptor(二)
    13:56
  • 视频:
    8-12 本章总结
    01:31
第9章 限流器RateLimit原理剖析
6 节|25分钟

展开 

  • 视频:
    9-1 本章介绍
    00:59
  • 视频:
    9-2 为什么要进行访问限流?
    03:25
  • 视频:
    9-3 常用的限流算法有哪些?
    05:56
  • 视频:
    9-4 限流器RateLimiter的原理与使用
    05:34
  • 视频:
    9-5 如何使用JMeter进行接口限流测试?
    07:25
  • 视频:
    9-6 本章总结
    01:26
第10章 并发深入底层–Java内存模型(JMM)入门
7 节|41分钟

展开 

  • 视频:
    10-1 本章介绍
    01:13
  • 视频:
    10-2 什么是java内存模型?为什么需要java内存模型
    05:56
  • 视频:
    10-3 Happens-Before规则保证多线程的内存可见性
    12:09
  • 视频:
    10-4 Java内存模型下volatile关键字的深入解析 – 内存语义
    11:16
  • 视频:
    10-5 Java内存模型下锁内存语义深入解析
    04:42
  • 视频:
    10-6 Java内存模型下final字段的语义
    03:19
  • 视频:
    10-7 本章总结
    01:32
第11章 并发性能测试、具体问题排查
10 节|62分钟

展开 

  • 视频:
    11-1 本章介绍
    00:45
  • 视频:
    11-2 对并发编程代码的正确性做测试
    19:25
  • 视频:
    11-3 如何对并发编程的代码做性能测试?
    05:07
  • 视频:
    11-4 多线程可能会遇到哪些线上问题与Arthas介绍
    09:59
  • 视频:
    11-5 使用Arthas排查CPU飙高的问题
    03:38
  • 视频:
    11-6 使用Arthas排查死锁的问题
    05:59
  • 视频:
    11-7 Arthas命令之监视命令monitor
    04:17
  • 视频:
    11-8 Arthas命令之watch命令
    07:43
  • 视频:
    11-9 Arthas命令之trace命令
    03:21
  • 视频:
    11-10 总结
    01:05
第12章 并发编程面试题深度解析,助你在面试中脱颖而出
3 节|24分钟

展开 

  • 视频:
    12-1 面试-基础篇
    10:21
  • 视频:
    12-2 面试-锁篇
    06:24
  • 视频:
    12-3 面试-工具篇
    06:17
第13章 课程总结
1 节|4分钟

展开 

  • 视频:
    13-1 课程总结
    03:35
本课程已完结