课程介绍
Java并发编程从入门到进阶 多场景实战视频教程。本课程将通过上百个案例场景驱动教学+动画直观演示,帮助入门级程序员深入、直观地理解并发编程核心概念和底层原理,构建一个扎实的知识框架;同时也帮助有一定工作经验的程序员提升并发技术实战能力,强化复杂并发问题解决能力,攻克绝大多数面试疑难问题,助力大家在实际工作和面试中都能尽早脱颖而出。
你将学会
从0到1打通并发核心体系
强化复杂并发问题解决能力
由浅入深掌握并发底层原理
动画趣味教学,学习更轻松
多案例提升并发技术实战力
攻克绝大多数面试疑难问题
资源目录
.
1-课程介绍/
[ 13M] 1-1 课程简介
2-并发编程学前储备/
[4.6M] 2-1 本章介绍
[ 39M] 2-2 首先了解程序是如何运行的?(存储器的层次结构CPU、缓存、内存)(1)
[ 34M] 2-3 首先了解程序是如何运行的?(存储器的层次结构CPU、缓存、内存)(2)
[ 51M] 2-4 使用Thread类和Runnable接口创建线程源码深入讲解
[ 16M] 2-5 两种创建线程的方式分析与对比
[ 34M] 2-6 使用Callable接口创建线程的原理和应用场景分析
[ 29M] 2-7 多线程中sleep和join方法详解
[ 24M] 2-8 什么场景下使用线程中断?
3-深度剖析线程安全性问题与底层原理/
[5.7M] 3-1 什么是线程安全?线程安全会带来的哪些底层问题?
[7.4M] 3-2 分析保证线程安全的三个性质-原子性、可见性、有序性
[ 21M] 3-3 多场景剖析未保证原子性的问题
[6.3M] 3-4 如何保证原子性操作?
[ 37M] 3-5 synchronized关键字可在哪些地方将代码“锁”住?
[ 40M] 3-6 使用wait和notify方法实现生产者消费者模式
[ 44M] 3-7 使用synchronized关键字实现的锁内存存储原理深入剖析
[ 22M] 3-8 如何实现锁升级?
[ 29M] 3-9 什么场景下使用Java提供的原子类AtomicInteger保证原子类?
[ 16M] 3-10 原子类是如何利用CAS(比较并交换)保证线程安全的
[ 35M] 3-11 高并发下AtomicInteger的性能 VS synchronized的性能
[ 29M] 3-12 高并发下AtomicBoolean和AtomicLong的用法
[ 41M] 3-13 高并发下AtomicIntegerArray和AtomicReference的用法
[ 24M] 3-14 剖析未可见性的问题
[ 17M] 3-15 volatile可见性剖析
[ 42M] 3-16 单例的创建方式及原理深入剖析
[ 35M] 3-17 volatile禁止重排序原理
[ 44M] 3-18 volatile在Dubbo和秒杀中的应用
[3.5M] 3-19 本章总结
4-Java中的7大常用锁实战/
[2.2M] 4-1 课程介绍
[ 10M] 4-2 锁的7大分类
[ 33M] 4-3 Lock接口的常见方法有哪些?
[ 34M] 4-4 Lock锁如何实现生产者消费者模式-Condition接口&
[4.8M] 4-5 选用锁时该用synchronized关键字还是Lock接口?
[ 23M] 4-6 公平锁和非公平锁应该选用哪个?
[ 24M] 4-7 (可中断和不可中断)如何使用Lock接口实现可中断锁?
[ 51M] 4-8 (读写锁)读写锁ReadWriteLock何时使用锁的降级?(一)
[ 77M] 4-9 (读写锁)读写锁ReadWriteLock何时使用锁的降级?(二)
[ 78M] 4-10 (共享锁独占锁)如何根据读操作和写操作拆分锁粒度-读写锁ReadWriteLock?
[ 77M] 4-11 (共享锁)信号量Semaphore的应用场景
[ 52M] 4-12 (死锁):什么是死锁?如何排查死锁问题?
[9.4M] 4-13 (死锁)形成死锁的条件与如何避免死锁?
[4.0M] 4-14 (活锁)什么是活锁与如何避免活锁的发生?
[3.4M] 4-15 本章总结
5-并发容器的线程安全性与实战/
[认准一手完整 www.ukoou.com]
[ 12M] 5-1 为什么HashMap线程不安全?
[ 33M] 5-2 ConcurrentHashMap是怎么保证并发安全的?
[ 22M] 5-3 ConcurrentHashMap不可以用NULL键和NULL值的原理深入剖析
[ 58M] 5-4 ConcurrentHashMap中的原子方法有哪些?
[ 24M] 5-5 漫谈ConcurrentHashMap的应用(业务,缓存)
[ 23M] 5-6 并发安全的List – CopyOnWriteArrayList原理与使用场景分析
[4.6M] 5-7 Java中还有哪些线程安全的容器?
[1.9M] 5-8 并发安全的容器总结
6-线程池原理剖析与实战/
[3.2M] 6-1 什么是线程池?使用线程池来维护线程有哪些优势?
[6.3M] 6-2 使用线程池如何确定合适的线程数?
[ 11M] 6-3 深入剖析线程池的核心设计原理
[ 33M] 6-4 自定义线程池的各个参数详解
[ 59M] 6-5 如何选择线程池的队列?
[ 42M] 6-6 如何使用线程工厂 – ThreadFactory控制线程创建行为?
[ 43M] 6-7 如何优雅处理线程池内出现的异常?
[ 40M] 6-8 剖析线程池的四种拒绝策略,如何自定义拒绝策略?
[2.3M] 6-9 关闭线程池的方法shutDown和shutDownNow该用哪个?
[2.3M] 6-10 本章总结
7-线程间的协作原理场景剖析/
[1.9M] 7-1 本章介绍
[ 51M] 7-2 如何使用同步工具CountDownLatch协调多线程?
[ 49M] 7-3 如何使用同步工具CyclicBarrier协调多线程?
[ 23M] 7-4 异步编程(一)CompletableFuture介绍
[ 21M] 7-5 异步编程(二)开启异步任务
[ 25M] 7-6 异步编程(三)异步任务回调
[ 62M] 7-7 异步编程(四)异步任务编排
[ 29M] 7-8 异步编程(五)竞争性任务处理
[ 44M] 7-9 异步编程(六)异步任务异常处理
[ 52M] 7-10 CompletionService:如何批量执行异步任务?
8-高性能队列 Disruptor原理剖析/
[2.6M] 8-1 本章介绍
[8.4M] 8-2 高性能队列disruptor介绍
[ 39M] 8-3 如何使用Disruptor?
[ 37M] 8-4 如何简化Disruptor开发步骤
[ 19M] 8-5 Disruptor 多生产者并发编程:加速大规模数据处理应用
[ 30M] 8-6 多消费者模式
[ 40M] 8-7 如何使用Disruptor的多级业务逻辑处理器?
[ 27M] 8-8 Disruptor为什么这么快?
[ 79M] 8-9 实战-秒杀业务中使用Disruptor(一)
[ 53M] 8-10 -1实战-秒杀业务中使用Disruptor(二)
[ 67M] 8-11 -2实战-秒杀业务中使用Disruptor(二)
[2.7M] 8-12 本章总结
9-限流器RateLimit原理剖析/
[1.7M] 9-1 本章介绍
[7.5M] 9-2 为什么要进行访问限流?
[ 13M] 9-3 常用的限流算法有哪些?
[ 17M] 9-4 限流器RateLimiter的原理与使用
[ 24M] 9-5 如何使用JMeter进行接口限流测试?
[1.9M] 9-6 本章总结
评论0