Java并发编程进阶技术实践 视频教程 下载
├─01 第一章 同步器AQS
│ ├─01 AQS的概念和原理
│ │ 01 1-0-1课程介绍和学习目标.mp4
│ │ 02 1-1-1AQS的概念和工作模式.mp4
│ │ 03 1-1-2回顾对象锁的工作原理.mp4
│ │ 04 1-1-3AQS的核心组件及工作流程.mp4
│ │ 05 1-1-4AQS源码解析之同步状态的原子性管理.mp4
│ │ 06 1-1-5AQS源码解析之acquire方法源码简介.mp4
│ │ 07 1-1-6AQS源码解析之release方法源码简介.mp4
│ │ 08 1-1-7AQS源码解析之acquireShared和releaseShared方法简介.mp4
│ │ 09 1-1-8AQS源码解析之acqureiInterruptibly和tryAcquireNanos方法简介.mp4
│ │
│ └─02 AQS的数据结构及使用方式、Lock框架的再认识
│ 01 1-2-1AQS队列数据结构的基本介绍.mp4
│ 02 1-2-2Node内部类源码解析.mp4
│ 03 1-2-3同步队列节点的入队操作.mp4
│ 04 1-2-4同步队列节点的出队操作.mp4
│ 05 1-2-5等待队列节点的入队操作.mp4
│ 06 1-2-6等待队列节点的出队操作.mp4
│ 07 1-2-7共享模式下节点的入队与出队操作.mp4
│ 08 1-2-8关于节点的取消状态.mp4
│ 09 1-3-1AQS的设计模式之模板方法.mp4
│ 10 1-3-2自定义一个简单的互斥锁.mp4
│ 11 1-3-3自定义一个可重入的互斥锁.mp4
│ 12 1-3-4共享锁的实现思路及注意事项.mp4
│ 13 1-4-1Lock和synchronized的区别.mp4
│ 14 1-4-2公平与非公平的底层支持:可闯入策略.mp4
│ 15 1-4-3使用synchronized关键字实现读多写少的测试.mp4
│ 16 1-4-4读写锁ReentrantReadWriteLock的基本使用.mp4
│ 17 1-4-5读写锁的适用性与关注点.mp4
│ 18 1-4-6Callable、Future和FutureTask回顾.mp4
│ 19 1-4-7ForkJoin框架与工作秘取的基本概念.mp4
│ 20 1-4-8ForkJoinTask与两个常用子类RecursiveTask、RecursiveAction源码概述.mp4
│ 21 1-4-9ForkJoin案例:分别使用单线程和fork-join框架运算数组元素之和.mp4
│ 22 1-4-10ForkJoin案例:使用RecursiveAction遍历目录(含子目录)打印指定类型文件.mp4
│
├─02 第二章 并发容器
│ ├─00 资料
│ │ └─Java并发编程高阶技术实践
│ │ │ javaConcurrentAnimated.jar
│ │ │
│ │ ├─PPT
│ │ │ 1-并发编程-同步器AQS.pdf
│ │ │ 2-并发编程-并发容器.pdf
│ │ │ 3-并发编程-线程池.pdf
│ │ │ 4-并发编程-并发安全.pdf
│ │ │ 5-并发编程-Java内存模型.pdf
│ │ │
│ │ ├─并发书籍
│ │ │ JAVA并发编程实践(中文).pdf
│ │ │ Java编程语言-Gosling.pdf
│ │ │ 多处理器编程的艺术.[美]Maurice Herlihy.pdf
│ │ │ 深入JAVA虚拟机.pdf
│ │ │
│ │ └─讲义
│ │ 1-并发编程-同步器AQS.pdf
│ │ 2-并发编程-并发容器.pdf
│ │ 3-并发编程-线程池.pdf
│ │ 4-并发编程-并发安全.pdf
│ │ 5-并发编程-Java内存模型.pdf
│ │
│ └─01 并发容器-课程所有资料在本节下载
│ 01 2-0-1课程介绍与学习目标.mp4
│ 02 2-1-1ConcurrentHashMap预备知识:hash算法和位运算.mp4
│ 03 2-1-2ConcurrentHashMap数据结构预览.mp4
│ 04 2-1-3ConcurrentHashMap在jdk1.7及以前的实现原理概述.mp4
│ 05 2-1-4ConcurrentHashMap在jdk1.7及以前的初始化源码解析.mp4
│ 06 2-1-5ConcurrentHashMap在jdk1.7及以前的get()方法源码解析.mp4
│ 07 2-1-6ConcurrentHashMap在jdk1.7及以前的put()方法源码解析.mp4
│ 08 2-1-7ConcurrentHashMap在jdk1.7及以前的扩容机制和size()方法源码解析.mp4
│ 09 2-1-8ConcurrentHashMap在jdk8及以后的实现原理概述.mp4
│ 10 2-1-9ConcurrentHashMap在jdk8及以后的初始化和put()方法源码解析.mp4
│ 11 2-1-10ConcurrentHashMap在jdk8及以后的get()方法源码解析.mp4
│ 12 2-1-11ConcurrentHashMap在jdk8及以后的扩容机制和size()方法源码解析.mp4
│ 13 2-1-12ConcurrentHashMap在jdk8及以后的总结.mp4
│ 14 2-2-1跳表SkipList的工作原理.mp4
│ 15 2-2-2无界非阻塞队列ConcurrentLinkedQueue简介.mp4
│ 16 2-2-3写时复制容器简介.mp4
│ 17 2-3-1阻塞队列的概念及由来.mp4
│ 18 2-3-2阻塞队列的常用方法辨析.mp4
│ 19 2-3-3常见阻塞队列及各自特点辨析.mp4
│ 20 2-3-4使用DelayQueue实现延时订单-延时队列元素工具类定义.mp4
│ 21 2-3-5使用DelayQueue实现延时订单-生产者和消费者线程定义及测试.mp4
│ 22 2-3-6阻塞队列的底层实现:显示锁+等待通知机制.mp4
│
├─03 第三章 线程池
│ └─01 线程池
│ 01 3-0-1课程介绍与学习目标.mp4
│ 02 3-1-1线程池的概念和好处.mp4
│ 03 3-1-2自定义线程池:思路分析.mp4
│ 04 3-1-3自定义线程池:创建线程池,初始化工作线程.mp4
│ 05 3-1-4自定义线程池:工作线程从任务队列中获取任务并执行.mp4
│ 06 3-1-5自定义线程池:提供execute方法供调用者执行任务.mp4
│ 07 3-1-6自定义线程池:提供destroy方法用于销毁线程池.mp4
│ 08 3-1-7自定义线程池:测试及线程池工作流程.mp4
│ 09 3-2-1ThreadPoolExecutor源码分析:初始化线程池参数.mp4
│ 10 3-2-2ThreadPoolExecutor源码分析:提交任务execute和submit方法.mp4
│ 11 3-2-3ThreadPoolExecutor源码分析:关闭线程池shutdown和shutdowNow方法.mp4
│ 12 3-2-4线程池工作机制.mp4
│ 13 3-2-5使用ThreadPoolExecutor创建线程池并使用.mp4
│ 14 3-2-6提交带返回值的任务到ThreadPoolExecutor线程池.mp4
│ 15 3-2-7线程池的关闭:shutdown与shutdownNow方法的使用.mp4
│ 16 3-2-8合理配置线程池.mp4
│ 17 3-3-1系统预定义线程池简介.mp4
│ 18 3-3-2定时任务ScheduledThreadPoolExecutor用法.mp4
│ 19 3-3-3定时任务ScheduledThreadPoolExecutor异常处理.mp4
│ 20 3-3-4Executor框架继承体系和使用流程.mp4
│ 21 3-3-5CompletionService按线程池中任务完成顺序获取结果.mp4
│ 22 3-3-6CompletionService实现原理.mp4
│
├─04 第四章 并发安全
│ └─01 并发安全
│ 01 4-0-1并发安全:课程简介和学习目标.mp4
│ 02 4-1-1什么是类的线程安全.mp4
│ 03 4-1-2类的线程安全:无状态、加锁和CAS操作.mp4
│ 04 4-1-3类的线程安全:让类不可变 - 属性加final.mp4
│ 05 4-1-4类的线程安全:让类不可变 - 不提供修改属性的方式.mp4
│ 06 4-1-5类的线程安全:栈封闭.mp4
│ 07 4-1-6类的线程安全:volatile、安全的发布、ThreadLocal.mp4
│ 08 4-2-1死锁产生的原因.mp4
│ 09 4-2-2常见的死锁发生的两个场景.mp4
│ 10 4-2-3动态顺序死锁的产生.mp4
│ 11 4-2-4动态顺序死锁的解决方案一:内在排序.mp4
│ 12 4-2-5动态顺序死锁的解决方案二:Lock.tryLock方法.mp4
│ 13 4-2-6活锁与饥饿.mp4
│ 14 4-3-1衡量多线程引用性能的指标与影响因素.mp4
│ 15 4-3-2锁优化:缩小锁的范围.mp4
│ 16 4-3-3锁优化:减少锁的粒度.mp4
│ 17 4-3-4锁优化:锁分段和替换独占锁.mp4
│ 18 4-3-5常见的两种单例设计模式.mp4
│ 19 4-3-6使用枚举实现单例:防止反射攻击.mp4
│ 20 4-3-7懒汉式单例模式:双重检查确保并发安全.mp4
│ 21 4-3-8懒汉式单例模式:双重检查的问题及解决方案.mp4
│ 22 4-3-9单例设计模式大杀器:延迟占位模式.mp4
│
└─05 第五章 Java内存模型
└─01 Java内存模型
01 5-0-1课程介绍与学习目标.mp4
02 5-1-1现代计算机物理内存模型.mp4
03 5-1-2物理内存模型带来的问题.mp4
04 5-2-1并发编程模型的分类.mp4
05 5-2-3Java内存模型图示.mp4
06 5-2-4Java线程通信的实现.mp4
07 5-2-5Java虚拟机的体系结构.mp4
08 5-2-6JMM在JVM中的实现:栈.mp4
09 5-2-7JMM在JVM中的实现:堆.mp4
10 5-2-8JMM在JVM中的实现:方法区.mp4
11 5-2-9堆栈溢出异常:StackOverFlowError和OutOfMemoryError.mp4
12 5-2-10基于共享内存的JMM的问题:可见性和竞争.mp4
13 5-2-11重排序的概念和分类.mp4
14 5-2-12重排序与依赖性:数据依赖性.mp4
15 5-2-13重排序与依赖性:控制依赖性与as-if-serieal语义.mp4
16 5-2-14并发下重排序的问题.mp4
17 5-2-15并发下重排序问题的解决方案:临界区.mp4
18 5-2-16并发下重排序问题的解决方案:内存屏障.mp4
19 5-3-1Happens-Before规则的概念.mp4
20 5-3-2无须任何同步手段就可以保证的Happens-Before规则.mp4
21 5-3-3final关键字的内存语义.mp4
22 5-3-4volatile关键字的内存语义.mp4
23 5-3-5volatile关键字内存语义的实现.mp4
24 5-4-1锁的内存语义.mp4
25 5-4-2synchronized的实现原理.mp4