| Name | Last modified | Size |
|---|---|---|
| Parent Directory | [DIR] | |
| 文档/ | 2025-December-10 23:58 | [DIR] |
| 下载完成.txt | 2025-December-10 23:58 | 0 B |
| 开篇词: 由点及面,搭建你的 Java 并发知识网.mp4 | 2025-December-10 23:59 | 153.47 MiB |
| 第01讲:为何说只有 1 种实现线程的方法?.mp4 | 2025-December-10 23:59 | 125.43 MiB |
| 第02讲:如何正确停止线程?为什么 volatile 标记位的停止方法是错误的?.mp4 | 2025-December-10 23:59 | 334.77 MiB |
| 第03讲:线程是如何在 6 种状态之间转换的?.mp4 | 2025-December-10 23:59 | 99.54 MiB |
| 第04讲:waitnotifynotifyAll 方法的使用注意事项?.mp4 | 2025-December-10 23:59 | 113.08 MiB |
| 第05讲:有哪几种实现生产者消费者模式的方法?.mp4 | 2025-December-10 23:59 | 137.62 MiB |
| 第06讲:一共有哪 3 类线程安全问题?.mp4 | 2025-December-10 23:59 | 131.88 MiB |
| 第07讲:哪些场景需要额外注意线程安全问题?.mp4 | 2025-December-10 23:59 | 82.91 MiB |
| 第08讲:为什么多线程会带来性能问题?.mp4 | 2025-December-10 23:59 | 84.91 MiB |
| 第09讲:使用线程池比手动创建线程好在哪里?.mp4 | 2025-December-10 23:59 | 91.49 MiB |
| 第10讲:线程池的各个参数的含义?.mp4 | 2025-December-10 23:59 | 143.96 MiB |
| 第11讲:线程池有哪 4 种拒绝策略?.mp4 | 2025-December-10 23:59 | 100.99 MiB |
| 第12讲:有哪 6 种常见的线程池?什么是 Java8 的 ForkJoinPool?.mp4 | 2025-December-10 23:59 | 181.85 MiB |
| 第13讲:线程池常用的阻塞队列有哪些?.mp4 | 2025-December-10 23:59 | 92.16 MiB |
| 第14讲:为什么不应该自动创建线程池?.mp4 | 2025-December-10 23:59 | 71.64 MiB |
| 第15讲:合适的线程数量是多少?CPU 核心数和线程数的关系?.mp4 | 2025-December-10 23:58 | 52.93 MiB |
| 第16讲:如何根据实际需要,定制自己的线程池?.mp4 | 2025-December-10 23:59 | 75.35 MiB |
| 第17讲:如何正确关闭线程池?hutdown 和 hutdownNow 的区别?.mp4 | 2025-December-10 23:59 | 113.82 MiB |
| 第18讲:线程池实现“线程复用”的原理?.mp4 | 2025-December-10 23:59 | 192.76 MiB |
| 第19讲:你知道哪几种锁?分别有什么特点?.mp4 | 2025-December-10 23:59 | 154.18 MiB |
| 第20讲:悲观锁和乐观锁的本质是什么?.mp4 | 2025-December-10 23:59 | 122.2 MiB |
| 第21讲:如何看到 ynchronized 背后的“monitor 锁”?.mp4 | 2025-December-10 23:59 | 96.29 MiB |
| 第22讲:ynchronized 和 Lock 孰优孰劣,如何选择?.mp4 | 2025-December-10 23:59 | 110.06 MiB |
| 第23讲:Lock 有哪几个常用方法?分别有什么用?.mp4 | 2025-December-10 23:59 | 129.29 MiB |
| 第24讲:讲一讲公平锁和非公平锁,为什么要“非公平”?.mp4 | 2025-December-10 23:59 | 214.92 MiB |
| 第25讲:读写锁 ReadWriteLock 获取锁有哪些规则?.mp4 | 2025-December-10 23:59 | 110.81 MiB |
| 第26讲:读锁应该插队吗?什么是读写锁的升降级?.mp4 | 2025-December-10 23:59 | 183.69 MiB |
| 第27讲:什么是自旋锁?自旋的好处和后果是什么呢?.mp4 | 2025-December-10 23:59 | 148.2 MiB |
| 第28讲:JVM 对锁进行了哪些优化?.mp4 | 2025-December-10 23:59 | 106.93 MiB |
| 第29讲:HahMap 为什么是线程不安全的?.mp4 | 2025-December-10 23:59 | 117.88 MiB |
| 第30讲:ConcurrentHahMap 在 Java7 和 8 有何不同?.mp4 | 2025-December-10 23:59 | 179.9 MiB |
| 第31讲:为什么 Map 桶中超过 8 个才转为红黑树?.mp4 | 2025-December-10 23:59 | 112.74 MiB |
| 第32讲:同样是线程安全,ConcurrentHahMap 和 Hahtable 的区别?.mp4 | 2025-December-10 23:59 | 71.97 MiB |
| 第33讲:CopyOnWriteArrayLit 有什么特点?.mp4 | 2025-December-10 23:59 | 159.97 MiB |
| 第34讲:什么是阻塞队列?.mp4 | 2025-December-10 23:59 | 86.62 MiB |
| 第35讲:阻塞队列包含哪些常用的方法?add、offer、put 等方法的区别?.mp4 | 2025-December-10 23:59 | 108.89 MiB |
| 第36讲:有哪几种常见的阻塞队列?.mp4 | 2025-December-10 23:59 | 76.17 MiB |
| 第37讲:阻塞和非阻塞队列的并发安全原理是什么?.mp4 | 2025-December-10 23:59 | 83.87 MiB |
| 第38讲:如何选择适合自己的阻塞队列?.mp4 | 2025-December-10 23:59 | 132.67 MiB |
| 第39讲:原子类是如何利用 CAS 保证线程安全的?.mp4 | 2025-December-10 23:59 | 261.51 MiB |
| 第40讲:AtomicInteger 在高并发下性能不好,如何解决?为什么?.mp4 | 2025-December-10 23:59 | 96.17 MiB |
| 第41讲:原子类和 volatile 有什么异同?.mp4 | 2025-December-10 23:59 | 78.15 MiB |
| 第42讲:AtomicInteger 和 ynchronized 的异同点?.mp4 | 2025-December-10 23:59 | 94.35 MiB |
| 第43讲:Java 8 中 Adder 和 Accumulator 有什么区别?.mp4 | 2025-December-10 23:59 | 126.63 MiB |
| 第44讲:ThreadLocal 适合用在哪些实际生产的场景中?.mp4 | 2025-December-10 23:59 | 255.28 MiB |
| 第45讲:ThreadLocal 是用来解决共享资源的多线程访问的问题吗?.mp4 | 2025-December-10 23:58 | 67.75 MiB |
| 第46讲:多个 ThreadLocal 在 Thread 中的 threadlocal 里是怎么存储的?.mp4 | 2025-December-10 23:59 | 79.43 MiB |
| 第50讲:使用 Future 有哪些注意点?Future 产生新的线程了吗?.mp4 | 2025-December-10 23:59 | 83.54 MiB |
| 第51讲:如何利用 CompletableFuture 实现“旅游平台”问题?.mp4 | 2025-December-10 23:59 | 162.38 MiB |
| 第52讲:信号量能被 FixedThreadPool 替代吗?.mp4 | 2025-December-10 23:59 | 231.98 MiB |
| 第53讲:CountDownLatch 是如何安排线程执行顺序的?.mp4 | 2025-December-10 23:59 | 105.46 MiB |
| 第55讲:Condition、object.wait() 和 notify() 的关系?.mp4 | 2025-December-10 23:59 | 91.59 MiB |
| 第56讲:讲一讲什么是 Java 内存模型?.mp4 | 2025-December-10 23:59 | 104.55 MiB |
| 第57讲:什么是指令重排序?为什么要重排序?.mp4 | 2025-December-10 23:58 | 44.92 MiB |
| 第58讲:Java 中的原子操作有哪些注意事项?.mp4 | 2025-December-10 23:59 | 102.52 MiB |
| 第59讲:什么是“内存可见性”问题?.mp4 | 2025-December-10 23:59 | 81.36 MiB |
| 第60讲:主内存和工作内存的关系?.mp4 | 2025-December-10 23:58 | 57.99 MiB |
| 第61讲:什么是 happen-before 规则?.mp4 | 2025-December-10 23:59 | 105.06 MiB |
| 第62讲:volatile 的作用是什么?与 ynchronized 有什么异同?.mp4 | 2025-December-10 23:59 | 122.73 MiB |
| 第63讲:单例模式的双重检查锁模式为什么必须加 volatile?.mp4 | 2025-December-10 23:59 | 84.48 MiB |
| 第64讲:你知道什么是 CAS 吗?.mp4 | 2025-December-10 23:59 | 231.98 MiB |
| 第65讲:CAS 和乐观锁的关系,什么时候会用到 CAS?.mp4 | 2025-December-10 23:59 | 104.4 MiB |
| 第66讲:CAS 有什么缺点?.mp4 | 2025-December-10 23:59 | 84.03 MiB |
| 第67讲:如何写一个必然死锁的例子?.mp4 | 2025-December-10 23:59 | 78.6 MiB |
| 第68讲:发生死锁必须满足哪 4 个条件?.mp4 | 2025-December-10 23:58 | 45.02 MiB |
| 第69讲:如何用命令行和代码定位死锁?.mp4 | 2025-December-10 23:58 | 60.21 MiB |
| 第70讲:有哪些解决死锁问题的策略?.mp4 | 2025-December-10 23:59 | 99.67 MiB |
| 第71讲:讲一讲经典的哲学家就餐问题.mp4 | 2025-December-10 23:59 | 138.39 MiB |
| 第72讲:final 的三种用法是什么?.mp4 | 2025-December-10 23:59 | 196.46 MiB |
| 第73讲:为什么加了 final 却依然无法拥有“不变性”?.mp4 | 2025-December-10 23:59 | 83.42 MiB |
| 第74讲:为什么 String 被设计为是不可变的?.mp4 | 2025-December-10 23:59 | 70.87 MiB |
| 第75讲:为什么需要 AQS?AQS 的作用和重要性是什么?.mp4 | 2025-December-10 23:59 | 187.72 MiB |
| 第76讲:AQS 的内部原理是什么样的?.mp4 | 2025-December-10 23:59 | 180.8 MiB |
| 第77讲:AQS 在 CountDownLatch 等类中的应用原理是什么?.mp4 | 2025-December-10 23:59 | 201.65 MiB |
| 第78讲:一份独家的 Java 并发工具图谱.mp4 | 2025-December-10 23:59 | 313.71 MiB |