收藏

玩转Java并发工具,精通JUC,成为并发多面手

线程池+各种锁+CAS+AQS+ThreadLocal+ConcurrentHashMap+并发综合实战项目

玩转Java并发工具,精通JUC,成为并发多面手

难度 中级 时长 18小时52分钟 学习人数 1372 综合评分 10.00

玩转Java并发工具,精通JUC,成为并发多面手

  • 第1章 开宗明义 1 节 | 5分钟

    相信很多小伙伴学习过悟空第一门并发基础课,是不是觉得不过瘾?因此悟空老师二度出山,带你深入并发。本章将带你了解本课程学什么,你将收获什么~期待小伙伴在并发领域:百尺竿头,更进一步~~

    收起列表

    • 视频: 1-1 JUC课程介绍 (04:59)
  • 第2章 鸟瞰Java并发【上帝视角建立并发知识框架】 试看 2 节 | 15分钟

    要想达到线程安全,有多种方法,本章将从如何解决线程安全问题说起,引出可以解决安全问题的3大类手段,并逐一详细展开。

    收起列表

    • 视频: 2-1 并发工具介绍 (14:35) 试看
    • 图文: 2-2 思维导图
  • 第3章 线程池【治理线程的最大法宝】 10 节 | 106分钟

    线程池是非常重要的工具,如果你要成为一个好的工程师,还是得比较好地掌握这个知识,很多线上问题都是因为没有用好线程池导致的。即使你为了谋生,也要知道,这基本上是面试必问的题目,而且面试官很容易从被面试者的回答中捕捉到被面试者的技术水平。...

    收起列表

    • 视频: 3-1 线程池的简介 (12:25)
    • 视频: 3-2 增加线程 (12:53)
    • 视频: 3-3 keepAliveTime (05:24)
    • 视频: 3-4 内存溢出 (08:29)
    • 视频: 3-5 用法演示 (12:15)
    • 视频: 3-6 对比线程池 (07:52)
    • 视频: 3-7 收服线程池 (17:08)
    • 视频: 3-8 钩子方法 (14:05)
    • 视频: 3-9 Executor相关类 (08:13)
    • 视频: 3-10 线程池状态 (07:01)
  • 第4章 ThreadLocal【一次解决老大难问题】 试看 17 节 | 100分钟

    ThreadLocal是面试常客,同时也是工作中非常常用的工具,可以给我们开发提供很多便利。本章将对它做出详细解读。

    收起列表

    • 视频: 4-1 ThreadLocal用途 (03:47) 试看
    • 视频: 4-2 从两个线程开始 (09:24)
    • 视频: 4-3 利用线程池 (08:37)
    • 视频: 4-4 不佳做法 (04:09)
    • 视频: 4-5 更好的做法 (05:43)
    • 视频: 4-6 路径梳理 (01:53)
    • 视频: 4-7 第二种用法 part1 (04:32)
    • 视频: 4-8 第二种用法 part2 (09:25)
    • 视频: 4-9 用法总结 (04:28)
    • 视频: 4-10 好处 (03:19)
    • 视频: 4-11 ThreadLocal原理 (03:54)
    • 视频: 4-12 重要方法介绍 (05:39)
    • 视频: 4-13 方法的分析 (07:01)
    • 视频: 4-14 两种场景的共同点 (04:46)
    • 视频: 4-15 收不回来的value (10:01)
    • 视频: 4-16 空指针异常问题 (06:59)
    • 视频: 4-17 ThreadLocal在Spring中的应用 (05:34)
  • 第5章 不可不说的“锁”事【种类繁多,如何一一突破?】 21 节 | 181分钟

    各种类型的锁很多,包括悲观锁、乐观锁、共享锁、公平锁、可重入锁、自旋锁等等,乱花渐欲迷人眼,如何拨开迷雾,看透本质?

    收起列表

    • 视频: 5-1 本章纵览 (03:17)
    • 视频: 5-2 内置锁的能力不足以满足需求 (10:46)
    • 视频: 5-3 tryLock尝试获取锁 (09:58)
    • 视频: 5-4 获取锁时被中断 (08:21)
    • 视频: 5-5 锁的可见性保证 (03:04)
    • 视频: 5-6 互斥同步锁 (07:09)
    • 视频: 5-7 非互斥同步锁 (10:45)
    • 视频: 5-8 可重入锁的用法 (08:19)
    • 视频: 5-9 可重入性质和源码解析 (12:00)
    • 视频: 5-10 公平锁 (10:25)
    • 视频: 5-11 先来后到 (13:29)
    • 视频: 5-12 共享锁和排它锁的用法 (12:00)
    • 视频: 5-13 交互思想 (09:16)
    • 视频: 5-14 看似读锁按部就班 (08:37)
    • 视频: 5-15 插队演示1 (09:06)
    • 视频: 5-16 插队演示2 (08:55)
    • 视频: 5-17 读写锁的由奢入俭“易” (12:09)
    • 视频: 5-18 循环尝试,不释放CPU (11:47)
    • 视频: 5-19 可中断锁 (01:25)
    • 视频: 5-20 让锁变得更好用 (06:50)
    • 视频: 5-21 总结_ (03:05)
  • 第6章 atomic包【一刻也不能分割】 10 节 | 73分钟

    对于原子包的6个类型做出用法和原理的讲解

    收起列表

    • 视频: 6-1 原子类简介 (05:42)
    • 视频: 6-2 类别展示 (01:55)
    • 视频: 6-3 案例演示 (09:27)
    • 视频: 6-4 每个都安全 (08:57)
    • 视频: 6-5 在自旋锁的应用 (04:19)
    • 视频: 6-6 把普通变量升级为原子变量 (11:32)
    • 视频: 6-7 对比新旧工具的运行速度 (11:00)
    • 视频: 6-8 原理分析 (08:22)
    • 视频: 6-9 功能升级 (08:46)
    • 视频: 6-10 总结原子类 (02:15)
  • 第7章 CAS【不可中断的典范】 4 节 | 26分钟

    非互斥同步的灵魂——CAS,对于这个不易理解的概念,给出通俗易懂的解读

    收起列表

    • 视频: 7-1 什么是CAS (06:04)
    • 视频: 7-2 等价代码 (09:07)
    • 视频: 7-3 应用场景_ (07:01)
    • 视频: 7-4 本章总结_ (03:22)
  • 第8章 以不变应万变【最便捷的并发安全之道】 6 节 | 48分钟

    介绍不变性和final关键字带来的线程安全

    收起列表

    • 视频: 8-1 章节介绍_ (07:16)
    • 视频: 8-2 赋值时机 (12:31)
    • 视频: 8-3 使用注意点 (07:27)
    • 视频: 8-4 栈封闭技术 (12:49)
    • 视频: 8-5 相关面试题 (07:23)
    • 作业: 8-6 final 的三种用法是什么
  • 第9章 ConcurrentHashMap等并发集合【面试超高频考点】 25 节 | 147分钟

    精讲最常见的并发容器,包括ConcurrentHashMap、CopyOnWriteArrayList、各种阻塞队列,从用法到内部结构,面面俱到。

    收起列表

    • 视频: 9-1 并发容器概览 (04:58)
    • 视频: 9-2 Vector和Hashtable (06:39)
    • 视频: 9-3 同步的HashMap和ArrayList (04:40)
    • 视频: 9-4 ConcurrentHashMap概览 (02:10)
    • 视频: 9-5 Map接口的实现 (07:59)
    • 视频: 9-6 调整JDK版本 (05:57)
    • 视频: 9-7 经典问题分析 (04:15)
    • 视频: 9-8 线程独立调试 (07:22)
    • 图文: 9-9 HashMap问题分析
    • 视频: 9-10 结构图和特点 (03:51)
    • 作业: 9-11 ConcurrentHashMap分析
    • 视频: 9-12 相关结构图 (02:44)
    • 视频: 9-13 ConcurrentHashMap源码分析- (08:02)
    • 视频: 9-14 不同版本的对比 (04:35)
    • 视频: 9-15 组合操作的问题 (10:50)
    • 视频: 9-16 ConcurrentHashMap复习 (05:55)
    • 视频: 9-17 CopyOnWriteArrayList的读写规则 (14:59)
    • 视频: 9-18 数据过期问题 (09:24)
    • 视频: 9-19 CopyOnWrite缺点分析 (06:29)
    • 视频: 9-20 并发队列简介 (05:25)
    • 视频: 9-21 绘制漂亮的UML图 (02:49)
    • 视频: 9-22 BlockingQueue入门 (04:41)
    • 视频: 9-23 代码演示、源码分析 (09:26)
    • 视频: 9-24 其他BlockingQueue类型的介绍 (08:26)
    • 视频: 9-25 并发容器总结 (04:28)
  • 第10章 控制并发流程【做好线程之间的协调人】 9 节 | 79分钟

    控制并发流程的工具类,作用就是帮助我们程序员更容易得让线程之间合作,让线程之间相互配合,来满足业务逻辑,比如让线程A等待线程B执行完毕后再执行等合作策略。

    收起列表

    • 视频: 10-1 如何控制并发流程? (04:28)
    • 视频: 10-2 倒计时门闩,一等多 (11:08)
    • 视频: 10-3 综合用法 (13:40)
    • 视频: 10-4 Semaphore颁发许可证 (08:45)
    • 视频: 10-5 Semaphore用法和注意点 (09:38)
    • 视频: 10-6 条件对象的作用和用法演示 (08:18)
    • 视频: 10-7 用条件对象实现生产者模式 (11:19)
    • 视频: 10-8 循环栅栏的作用 (09:02)
    • 视频: 10-9 总结控制并发流程的要点 (02:28)
  • 第11章 AQS【进阶必备,并发灵魂人物】 10 节 | 73分钟

    AQS是众多并发工具底层的核心原理,掌握了它,你就打通了任督二脉,登上了并发大雅之堂。

    收起列表

    • 视频: 11-1 如何学习AQS? (07:45)
    • 视频: 11-2 Semaphore和AQS的关系 (02:28)
    • 视频: 11-3 比喻:HR和AQS的职责统一 (11:50)
    • 视频: 11-4 AQS的三要素 (07:11)
    • 视频: 11-5 AQS简要分析 (12:04)
    • 视频: 11-6 AQS的许可证颁发 (06:06)
    • 视频: 11-7 利用AQS实现独占锁 (08:32)
    • 视频: 11-8 DIY一次性门闩 (11:28)
    • 视频: 11-9 AQS的核心思路 (05:14)
    • 图文: 11-10 AQS补充材料(选修)
  • 第12章 获取子线程的执行结果【来而不往非礼也】 8 节 | 77分钟

    Future的核心思想是:一个方法的计算过程可能非常耗时,一直在原地等待方法返回,显然不明智。可以把该计算过程放到线程池去执行,并通过Future去控制方法的计算过程,在计算出结果后直接获取该结果。

    收起列表

    • 视频: 12-1 Future和Callable的关系 (13:00)
    • 视频: 12-2 代码演示:submit返回Future对象,快速抽取返回值 (16:13)
    • 视频: 12-3 批量接收结果 (07:55)
    • 视频: 12-4 执行时异常和isDone演示 (05:21)
    • 视频: 12-5 默认和超时和取消 (14:55)
    • 视频: 12-6 cancel方法与中断线程 (04:14)
    • 视频: 12-7 用法二:用FutureTask获取结果 (11:42)
    • 视频: 12-8 总结Future本章 (03:21)
  • 第13章 从0到1打造高性能缓存【学以致用】 13 节 | 84分钟

    理论结合实际,知识落地。把学到的知识运用在实际中,从0开始一步步搭建高性能缓存。

    收起列表

    • 视频: 13-1 从最简单的缓存出发 (08:08)
    • 视频: 13-2 暴露出来的性能和复用性问题 (04:21)
    • 视频: 13-3 用装饰者模式解耦 (09:25)
    • 视频: 13-4 用ConcurrentHashMap保证并发安全 (07:17)
    • 视频: 13-5 用Future解决重复计算问题 (12:03)
    • 视频: 13-6 原子组合操作填补漏洞 (04:42)
    • 视频: 13-7 计算错误如何处理? (07:39)
    • 视频: 13-8 污染问题的解决 (04:17)
    • 视频: 13-9 缓存过期功能和随机性 (08:40)
    • 视频: 13-10 用线程池测试缓存性能 (05:19)
    • 视频: 13-11 用CountDownLatch实现压测 (03:13)
    • 视频: 13-12 用ThreadLocal确认时间的统一性 (03:47)
    • 视频: 13-13 打怪升级之路总结 (04:59)
  • 第14章 结语【总结全课精华】 2 节 | 12分钟

    全课精华总结,展望未来学习路径

    收起列表

    • 视频: 14-1 课程总结 part 1 (08:43)
    • 视频: 14-2 课程总结 part 2 (03:03)
  • 第15章 【赠送】学习本课程有困难? 7 节 | 67分钟

    学习本课程有困难?不妨加持线程部分。特别开放试看章节~

    收起列表

    • 视频: 15-1 其他课程介绍 (06:29)
    • 视频: 15-2 创建线程网上的观点 (13:40)
    • 视频: 15-3 同时使用两种方法;正确实现方法的总结 (07:14)
    • 视频: 15-4 典型错误观点 (12:44)
    • 视频: 15-5 解决问题_ (10:00)
    • 视频: 15-6 学习新技术 (11:47)
    • 视频: 15-7 实现多线程的问题 (04:19)
本课程已完结

试看

全部试看小节



讲师

悟空 JAVA开发工程师

Java开发工程师,熟悉互联网Java主流技术,喜欢钻研技术的底层原理,课程风格诙谐幽默,讲解细致生动。

讲师其他课程

课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
意见反馈 帮助中心 APP下载
官方微信

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题