java juc 自旋锁_玩转Java并发工具,精通JUC,成为并发多面手

课程介绍:

在处理Java并发问题时,需要使用各种工具。但市面上缺少对并发工具成体系的讲解。本课程深度解密JUC库,对Java并发常见的工具类进行从使用到原理的详解,包括CAS+AQS+ThreadLocal+ConcurrentHashMap+线程池+各种锁+并发综合实战项目等。在掌握工具的同时,建立起整个并发工具类的知识体系,并上手一个高性能缓存的实战项目。课程对于面试和实际工作都非常有帮助,还能通过实战项目,把学到的知识真正内化,助你用最快的速度,得到最大的提升。

课程目录:

├─第1章 开宗明义

│      1-1_Java并发成神之路-精通JUC并发工具十八般武艺.mp4

├─第2章 鸟瞰Java并发

│      2-1_并发工具类纵览-建立起Java并发体系的大厦.mp4

│      2-2 课程各章节思维导图汇总

├─第3章 线程池

│      3-1_线程池的自我介绍.mp4

│      3-2_增减线程的时机.mp4

│      3-3_keepAliveTime和线程工厂.mp4

│      3-4_演示内存溢出的情况.mp4

│      3-5_线程池用法演示.mp4

│      3-6_对比线程池的特点.mp4

│      3-7_五虎上将收服线程池.mp4

│      3-8_钩子:给线程池加点料.mp4

│      3-9_Executor家族的辨析.mp4

│      3-10_线程池状态和使用注意点.mp4

├─第4章 ThreadLocal

│      4-1_ThreadLocal的两种用法.mp4

│      4-2_进化之路:故事从两个线程说起.mp4

│      4-3_进化之路:线程池来帮忙,却好心办坏事.mp4

│      4-4_走过的弯路,你的套路.mp4

│      4-5_ThreadLocal是救火队长.mp4

│      4-6_悔不当初:回顾进化之路.mp4

│      4-7_ThreadLocal的第二种用法_part1.mp4

│      4-8_ThreadLocal的第二种用法_part2.mp4

│      4-9_ThreadLocal的两种用法总结.mp4

│      4-10_ThreadLocal的好处.mp4

│      4-11_ThreadLocal原理.mp4

│      4-12_ThreadLocal的重要方法介绍.mp4

│      4-13_重要方法的源码分析.mp4

│      4-14_两种场景,殊途同归.mp4

│      4-15_收不回来的value.mp4

│      4-16_ThreadLocal的空指针异常问题.mp4

│      4-17_ThreadLocal在Spring中的应用.mp4

├─第5章 不可不说的“锁”事

│      5-1_本章纵览.mp4

│      5-2_内置锁的能力不足以满足需求.mp4

│      5-3_tryLock尝试获取锁.mp4

│      5-4_代码演示:获取锁时被中断.mp4

│      5-5_锁的可见性保证.mp4

│      5-6_互斥同步锁.mp4

│      5-7_非互斥同步锁.mp4

│      5-8_可重入锁的用法.mp4

│      5-9_可重入性质和源码解析.mp4

│      5-10_是否允许一部分人“先富起来”.mp4

│      5-11_代码演示:先来后到的特例、优劣、源码分析.mp4

│      5-12_共享锁和排它锁的用法.mp4

│      5-13_深入理解交互思想.mp4

│      5-14_看似读锁按部就班.mp4

│      5-15_超越95%面试者的秘籍_part_1.mp4

│      5-16_超越95%面试者的秘籍_part_2.mp4

│      5-17_读写锁的由奢入俭“易”.mp4

│      5-18_循环尝试,不释放CPU.mp4

│      5-19_可中断锁.mp4

│      5-20_我们如何才能让锁变得更好用?.mp4

│      5-21_“锁”事总结.mp4

├─第6章 atomic包

│      6-1_什么是原子类,有什么作用?.mp4

│      6-2_6类原子类纵览.mp4

│      6-3_AtomicInteger案例演示.mp4

│      6-4_Atomic数组,每个都安全.mp4

│      6-5_Atomic引用在自旋锁的应用.mp4

│      6-6_把普通变量升级为原子变量.mp4

│      6-7_对比新旧工具的运行速度.mp4

│      6-8_剖析高速运转的原理.mp4

│      6-9_功能升级,不限于加操作.mp4

│      6-10_总结原子类.mp4

├─第7章 CAS

│      7-1_什么是CAS.mp4

│      7-2_CAS的等价代码、使用案例.mp4

│      7-3_CAS的应用场景、源码分析.mp4

│      7-4_CAS的缺点和总结.mp4

├─第8章 以不变应万变

│      8-1_什么是“不变性”?.mp4

│      8-2_final变量的赋值时机.mp4

│      8-3_final的注意点.mp4

│      8-4_栈封闭技术.mp4

│      8-5_面试题:真假美猴王.mp4

├─第9章 ConcurrentHashMap等并发集合

│      9-1_并发容器概览.mp4

│      9-2_集合类的历史,演进过程:Vector和Hashtable.mp4

│      9-3_前身:同步的HashMap和ArrayList.mp4

│      9-4_ConcurrentHashMap概览.mp4

│      9-5_Map接口的典型实现类、常用方法演示.mp4

│      9-6_彩蛋:调整JDK版本,以便查看对应版本的代码.mp4

│      9-7_HashMap的死循环导致CPU100%的问题分析.mp4

│      9-8_彩蛋:多线程调试技巧,每个线程独立调试.mp4

│      9-10_HashMap_1.7和1.8的结构图和特点,红黑树的概念.mp4

│      9-11_ConcurrentHashMap_1.7和1.8结构图.mp4

│      9-12_ConcurrentHashMap源码分析-.mp4

│      9-13_ConcurrentHashMap1.7和1.8的对比,做了哪些升级?.mp4

│      9-14_ConcurrentHashMap难道也会发生线程安全问题?:组合操作的玄机.mp4

│      9-15_实际生产中并发安全事故的分享、ConcurrentHashMap复习.mp4

│      9-16_CopyOnWriteArrayList的适用场景、读写规则.mp4

│      9-17_CopyOnWrite设计理念、数据过期问题.mp4

│      9-18_CopyOnWrite源码、缺点分析.mp4

│      9-19_并发队列简介.mp4

│      9-20_彩蛋:轻松绘制漂亮的UML图.mp4

│      9-21_BlockingQueue入门.mp4

│      9-22_ArrayBlockingQueue代码演示、源码分析.mp4

│      9-23_LinkedBlockingQueue等典型介绍.mp4

│      9-24_并发容器总结.mp4

├─第10章 控制并发流程

│      10-1_如何控制并发流程?.mp4

│      10-2_倒计时门闩,一等多.mp4

│      10-3_综合用法:运动员跑步.mp4

│      10-4_Semaphore颁发许可证.mp4

│      10-5_Semaphore用法和注意点.mp4

│      10-6_条件对象的作用和用法演示.mp4

│      10-7_用条件对象实现生产者模式.mp4

│      10-8_循环栅栏的作用.mp4

│      10-9_总结控制并发流程的要点.mp4

├─第11章 AQS

│      11-1_如何学习AQS?.mp4

│      11-2_Semaphore和AQS的关系.mp4

│      11-3_比喻:HR和AQS的职责统一.mp4

│      11-4_AQS的三要素.mp4

│      11-5_AQS源码分析.mp4

│      11-6_AQS的许可证颁发.mp4

│      11-7_利用AQS实现独占锁.mp4

│      11-8_DIY一次性门闩.mp4

│      11-9_AQS的核心思路.mp4

├─第12章 获取子线程的执行结果

│      12-1_Future和Callable的关系.mp4

│      12-2_代码演示:submit返回Future对象,快速抽取返回值.mp4

│      12-3_批量接收结果.mp4

│      12-4_执行时异常和isDone演示.mp4

│      12-5_代码演示:默认广告的超时和取消.mp4

│      12-6_cancel方法与中断线程.mp4

│      12-7_用法二:用FutureTask获取结果.mp4

│      12-8_总结Future本章.mp4

├─第13章 从0到1打造高性能缓存

│      13-1_从最简单的缓存出发.mp4

│      13-2_暴露出来的性能和复用性问题.mp4

│      13-3_用装饰者模式解耦.mp4

│      13-4_用ConcurrentHashMap保证并发安全.mp4

│      13-5_用Future解决重复计算问题.mp4

│      13-6_原子组合操作填补漏洞.mp4

│      13-7_计算错误如何处理?.mp4

│      13-8_缓存“污染”问题的解决.mp4

│      13-9_缓存过期功能和随机性.mp4

│      13-10_用线程池测试缓存性能.mp4

│      13-11_用CountDownLatch实现压测.mp4

│      13-12_用ThreadLocal确认时间的统一性.mp4

│      13-13_打怪升级之路总结.mp4

├─第14章 结语

│      14-1_全课精华总结_part_1.mp4

│      14-2_全课精华总结_part_2.mp4

你可能感兴趣的:(java,juc,自旋锁)