一课掌握Java并发编程精髓

吃透并发编程,高效解决复杂问题,突破思维局限,进入优秀工程师行列

已完结
|
难度:中级
|
时长:共 26 小时 6 分钟
¥199.00
距离活动结束
立即购买
加购物车
已有 187 人在学
  • 从0到1打通并发核心体系
  • 强化复杂并发问题解决能力
  • 由浅入深掌握并发底层原理
  • 动画趣味教学,学习更轻松
  • 多案例提升并发技术实战力
  • 攻克绝大多数面试疑难问题
试看本节课 05:32
试看本节课 16:43
1-1 课程简介
2-2 首先了解程序是如何运行的?(存储器的层次结构--CPU、缓存、内存)(1)

课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
并发编程是优秀工程师的标准之一。但知识庞杂,复杂性高,常常让人望而却步。但如果没有掌握背后的核心原理,你开发的代码可能会成为难以调试和优化的头疼问题。因此本课程将通过上百个案例场景驱动教学+动画直观演示,帮助入门级程序员深入、直观地理解并发编程核心概念和底层原理,构建一个扎实的知识框架;同时也帮助有一定工作经验的程序员提升并发技术实战能力,强化复杂并发问题解决能力,攻克绝大多数面试疑难问题,助力大家在实际工作和面试中都能尽早脱颖而出。

本章介绍:

本章主要对课程整体内容进行全面介绍,让大家充分了解本课程的内容及核心。

第1章 课程介绍
1 节|6分钟
展开
  • 视频:
    1-1 课程简介
    试看
    05:32

本章介绍:

在进入并发编程的世界前,建立坚实基础至关重要。本章深入探索计算机硬件如何支持并发编程,包括存储器层次结构、CPU、缓存和内存的工作原理。我们还多角度探讨多线程的特性,理解其优点(提高并发度和响应速度)和挑战(安全性、性能和活跃性问题)。

第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

本章介绍:

深度剖析线程安全性与底层原理,探讨线程安全、原子性、可见性和有序性,比较同步机制如synchronized和原子变量,解析volatile关键字,实战处理单例模式并发问题。

第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

本章介绍:

本章将深入探讨Java中的七种常用锁分类,探讨synchronized和Lock的优缺点,以及如何避免死锁、优化锁粒度、提高并发性能等实战内容。

第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

本章介绍:

本章聚焦并发容器,探讨Java中的并发容器的安全机制与实际应用,包括:分析HashMap线程不安全的原因,以及ConcurrentHashMap是如何确保并发安全的,以及ConcurrentHashMap原子方法及其应用。

第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

本章介绍:

本章将深入研究高性能队列Disruptor,介绍其原理和设计方案,以及在实际业务中如何应用Disruptor,帮助大家了解如何提高并发编程性能等。

第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

本章介绍:

本章将探讨限流器RateLimit,讲解为什么要做访问的限流,及常用的限流算法有哪些,RateLimit内部原理,包括漏斗和令牌算法,如何使用JMeter进行接口限流测试,限流在实际业务中的应用和策略选择等。

第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

本章介绍:

本章将深入探讨Java内存模型(JMM),涵盖重排序、内存可见性、happens-before规则以及关键字如volatile、synchronized和final对多线程行为的影响。

第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

本章介绍:

本章将探讨如何对并发编程代码进行正确性和性能测试,包括JMeter的安装和性能测试方法。还将介绍多线程可能遇到的线上问题以及解决这些问题的基本步骤,包括CPU过高问题、系统无响应问题和线程相关问题的分析与解决方法。

第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

本章介绍:

本章给大家总结一下并发编程常见面试题,包括基础、锁、工具等,助力大家在面试中脱颖而出,斩获更多offer

第12章 并发编程面试题深度解析,助你在面试中脱颖而出
3 节|24分钟
展开
  • 视频:
    12-1 面试-基础篇
    10:21
  • 视频:
    12-2 面试-锁篇
    06:24
  • 视频:
    12-3 面试-工具篇
    06:17

本章介绍:

总结并发编程常见面试题,助你在面试中脱颖而出,斩获更多offer总结

第13章 课程总结
1 节|4分钟
展开
  • 视频:
    13-1 课程总结
    03:35
本课程已完结
适合人群
有JAVA基础人群均可学习
想换工作的开发者、毕业生
想提升JAVA并发编程能力的所有JAVA开发者
技术储备
有JAVA基础均可学习
环境参数
JDK 8或以上均可
idea 2019以上均可
Alfred_li
资深JAVA开发工程师, 已有3156个学生
不为别的,只为提升面试通过率
尽管课程时间很长,
但没关系,我们有老师的陪伴,
还有同学之间互相鼓励,彼此帮助,
完成学习后,还能获得慕课网官方认证的证书。
立即购买
数据加载中...
《一课掌握Java并发编程精髓》的真实评价
综合评分:分,共 人参与
篇幅原因,只展示最近100条评价

学习咨询

选课、学习遇到问题?

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

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

意见反馈 帮助中心 APP下载
官方微信