/蚂蚁课堂第九期/& l3 S1 ^( [( Z3 k! r2 H
├──000.第九期-开班相关说明
. _& b* i8 {% l: p$ O| ├──01.第一节-每特教育第九期上课时间安排_ev.mp4 46.42M0 k- O* k1 e8 I8 ^! P
| ├──02.第二节-常用开发的工具整理_ev.mp4 23.62M
! O1 i! V* v- Z% Z, L3 C| ├──03第三节-程序员如何选择电脑配置_ev.mp4 14.96M7 N; L n0 e/ G6 y( T
| ├──04.第四节-腾讯课堂上课标题不一致的问题_ev.mp4 15.43M& g! \& ?3 ]! I2 R
| ├──05.第五节-第九期新增了哪些知识点01_ev.mp4 51.65M
' ?+ |4 U: ?+ O0 U* I" W* M| ├──06.第六节-第九期新增了哪些知识点02_ev.mp4 94.98M2 D" s) O% }+ Z1 P0 K- ^
| ├──07.第七节-程序员开发资料如何下载_ev.mp4 14.52M
$ w0 M9 @; y+ T| └──09.00每特教育第九期开班相关说明_ev.mp4 261.55M* ^) C3 M: q3 l- n6 @9 l- o
├──001.第九期-基础知识回顾之掌握Java反射自定义注解底层设计原理与封装限流的框架 ) a# L2 \& a+ [/ l! v, H1 s- c
| ├──01.第一节-反射与自定义原理课程安排_ev.mp4 13.74M
- M* ~+ ?( u( [. D1 j6 N% ]6 }| ├──02.第二节-什么是反射&反射基本概念_ev.mp4 35.03M
, e: b* Z6 u, L- |- J, V| ├──03.第三节-反射的应用场景_ev.mp4 12.23M% ^8 k- g0 J6 J. e
| ├──04.第四节-反射机制使用的三种方式_ev.mp4 53.71M
4 I; [# Q+ o# S' ^| ├──05.第五节-使用反射机制初始化对象_ev.mp4 24.12M' ^5 p6 `/ v- c) S4 [0 F' |
| ├──06.第六节-反射如何给属性赋值_ev.mp4 34.06M
6 v3 Y& [# f, \4 R" ^$ M) s1 z* n| ├──07.第七节-使用反射机制调用方法_ev.mp4 29.83M/ d8 T2 t) S d1 W
| ├──08.第八节-反射如何越过泛型检查_ev.mp4 19.40M
! l! u+ {; t; G| ├──09.第九节-注解的基本概念与介绍_ev.mp4 60.26M+ t0 K; M8 }2 _1 o* r8 B
| ├──10.第十节-使用guava对微服务接口实现限流_ev.mp4 18.25M
3 S$ F. _) l5 F2 _| ├──11.第十一节-使用aop环绕通知拦截目标方法01_ev.mp4 36.20M
& ~# i5 D+ W3 v$ I b| ├──12.第十二节-使用aop环绕通知拦截目标方法02_ev.mp4 73.28M/ O) B1 T' `/ p* t2 P* _* S
| ├──13.第十三节-使用aop+反射+自定义注解实现限流框架_ev.mp4 58.76M
7 h! G. u4 h/ T: s| └──资料.zip 195.75kb- I3 P+ B+ D% C) ^# ?7 t* Y: l3 G t+ d
├──002.第九期-基础知识回顾之多线程快速入门与实际项目如何整合多线程
2 V M. E, D5 t! m: W- M| ├──01.第一节-多线程第一次课程内容安排.mp4 72.27M
9 R! ~( _# d2 J9 \| ├──02.第二节-什么是线程、进程.mp4 73.12M( n, C* m0 I% @ x, F, d2 E* `/ j* i
| ├──03.第三节-为什么在进程中还需要线程呢.mp4 19.45M
. u% v$ g2 z5 g y| ├──04.第四节-为什么需要使用多线程与单与并行区别.mp4 70.28M
0 z8 R$ M1 W4 ^7 i; `0 {| ├──05.第五节-使用多线程一定提高效率吗.mp4 117.94M8 |( T; U2 ?+ h! y" n& g) T
| ├──06.第六节-多线程的应用场景有哪些呢.mp4 33.20M
! ]0 D& L0 D1 y. M+ b| ├──07.第七节-同步与异步之间的区别.mp4 19.40M
5 F2 A/ d O; n0 l5 ]& N| ├──08.第八节-继承Thread类创建线程.mp4 62.27M
% X3 k& f( Q- n& J| ├──09.第九节-实现Runnable接口创建线程.mp4 36.71M
7 v. L- f: |6 D5 {) J$ D/ P| ├──10.第十节-使用Callable和Future创建线程.mp4 126.13M
7 ~9 V) [2 ?4 W9 w| ├──11.第十一节-使用线程池的方式创建线程.mp4 22.31M
K X: l, Z5 l5 g$ ~2 e! C| ├──12.第十二节-@Async异步注解创建线程.mp4 85.50M8 _/ z h- }9 w; H: z6 B
| └──13.第十三节-手写@Async异步注解.mp4 126.41M" o k/ x% S% j8 T @& Z5 t$ x
├──003.每特教育第九期-基础知识回顾之synchronized锁使用与线程之间如何实现通讯
2 N& O+ j! d; f8 P2 Y- e* K) z| ├──01.第一节-什么是线程安全问题.mp4 105.82M
7 y. ^' @2 t1 [# d# E7 i| ├──02.第二节-如何解决线程安全问题.mp4 110.17M$ A7 V7 X8 J2 v6 @: ?
| ├──03.第三节-synchronized锁基本的用法01.mp4 67.59M* }5 i; A9 b$ c, [; d
| ├──04.第四节-synchronized锁基本的用法02.mp4 63.04M
0 ]6 a9 V' g& D| ├──05.第五节-synchronized死锁问题.mp4 74.18M" P; f/ T' b. q! @& h
| ├──06.第六节-如何诊断synchronized死锁问题.mp4 25.14M5 b6 Z* `4 b* U9 O4 q. x
| ├──07.第七节-如何保证线程同步问题.mp4 21.51M/ a& M# {2 `! p: x u$ @
| ├──08.第八节-springmvc接口中使用synchronized.mp4 72.19M' p8 F6 t* A4 P: e# Y- \* X
| ├──09.第九节-使用wait、notify注意事项.mp4 60.46M
: ^3 B- b7 p4 h. B" L( S| ├──10.第十节-wait、notify生产者与消费者模型01.mp4 89.50M
: T3 O1 J: z3 X# F| ├──11.第十一节-wait、notify生产者与消费者模型02.mp4 104.08M) b* W4 }3 S w% y
| └──code.zip 810.47kb# s V+ |- I3 @$ O, P1 w! C
├──004.第九期-基础知识回顾之多线程核心API与Lock锁使用 ; D5 K& N8 T! X/ a% M3 g
| ├──01.第一节-画图分析wait与notify实现原理.mp4 225.03M! Y( j$ B6 O. ?5 z9 Q8 u5 \4 V
| ├──02.第二节-join方法底层的设计原理.mp4 123.76M
* z ^4 r4 Z+ l) Y; s' R. q| ├──03.第三节-多线程底层七种状态.mp4 95.29M0 m7 h( n! M) L+ G
| ├──04.第四节-sleep防止CPU占用100%.mp4 45.25M
* B; \8 T) m& V$ p- O+ R| ├──05.第五节-守护与用户线程的区别.mp4 31.01M
- _2 X$ Y1 u/ I* a& e9 J" n8 R| ├──06.第六节-如何安全的停止一个线程.mp4 66.24M: X: p' y% H; E0 P
| ├──07.第七节-lock与synchronized的区别.mp4 26.09M
. B! Q+ ]& \* q6 Z# U: r8 [| ├──08.第八节-简单演示lock锁使用方式01.mp4 76.73M- s7 s& V2 l# N( V
| ├──09.第九节-简单演示lock锁使用方式02.mp4 22.20M! D8 Z; ^: v, {$ t( z' a, Q1 n
| ├──10.第十节-lock的condition用法.mp4 44.71M5 _7 q& U# ^# r9 @! L
| ├──11.第十一节-多线程的yield方法使用.mp4 29.52M; `* \; x$ ~- b3 p
| ├──12.第十二节-多线程的优先级.mp4 34.72M
. |# A3 v$ Z0 h| ├──13.第十三节-wait与sleep之间的区别.mp4 31.54M
7 C4 i' F0 A- U| └──14.第十四节-为什么wait和notify在object父类中.mp4 19.68M
* o6 D1 D% v1 _8 x├──005.第九期-基础知识回顾之多线程综合实战案例与纯手写日志框架
w2 w p1 C# ]7 ^ {/ U( k0 ^! x| ├──01.第一节-字节码指令角度分析线程安全问题.mp4 134.05M
r; H7 h# i- x2 W4 \6 `' t0 Q5 z| ├──02.第二节-画图分析字节码指令角度分析线程安全问题.mp4 60.39M$ K3 u0 W& I+ ~
| └──03.第三节-Callable与FutureTask原理分析01.mp4 3.38M
. [5 }; s$ v# }& x├──006.第九期-JUC并发编程之CAS原子类底层原理
- ?# Q; ^6 N" T f4 Y4 p| └──01.第一节-什么是悲观锁.mp4 " o- y4 \- T* b% U
├──007.第九期-JUC并发编程之基于cas+LockSupport锁手写锁的升级过程
$ Z; X, V8 z. ^% T7 L: W| ├──01.第一节-如何手写重入锁.mp4 139.08M* R# h' K7 j5 u# h7 v6 P4 P! e# z
| ├──02.第二节-代码纯手写重入锁.mp4 94.05M
+ I% W% Y) e+ S$ m| ├──03.第三节-偏向锁轻量级锁重量级锁应用场景01.mp4 100.96M: H/ J3 y" G4 Q w& O
| ├──04.第四节-偏向锁和轻量锁和重量锁引用场景02.mp4 104.22M9 X. U4 n, I! q+ F% d2 E5 f
| ├──05.第五节-画图分析手写cas锁底层原理.mp4 53.34M/ i; C( F- Z- |) ^5 w' y/ S
| ├──06.第六节-手写轻量锁升级的过程.mp4 86.87M" x# c! V9 k' }0 j8 T3 p" B1 o/ ?; a/ w
| ├──07.第七节-源码调试手写轻量锁升级过程.mp4 98.88M
4 \8 r! f6 A3 o4 m# r. ]| ├──08.第八节-纯手写轻量锁升级过程课程疑问总结.mp4 18.00M
! X" s1 n% N7 C; a8 V! j/ y$ g| ├──09.第九节-偏向锁与重入锁之间的区别.mp4 60.84M9 p: `( P" ]. L$ z/ R
| ├──10.第十节-公平锁与非公平锁的区别.mp4 99.69M
2 u9 _* o" r; _$ y( m( m+ [| └──资料.zip 195.75kb
' i5 u# K) K1 c! s5 u* o0 Q' a4 g├──008.第九期-JUC并发编程之从对象角度获取synchronized升级过程
& ?% \2 M+ n" `. ^/ S$ u" \, ]| ├──01.第一节-偏向锁轻量级锁重量级锁应用场景.mp4 100.96M; A) o1 ^# }7 S/ ?5 X
| ├──02.第二节-java对象的布局底层实现原理.mp4 159.15M3 \) |; X& v+ v6 q# a5 B/ @. I9 P
| ├──03.第三节-new出一个对象至少占用多少字节.mp4 41.60M
0 j) Q0 W5 E: s# \7 G$ ^| ├──04.第四节-对象内存中offset作用.mp4 69.37M1 }- l- G9 [9 R' g
| ├──05.第五节-通过对象头获取锁的升级信息.mp4 129.76M/ _$ g- T3 o% u6 W* L3 w
| ├──06.第六节-如何在对象头获取HashCode.mp4 80.04M) N& j4 P8 E$ O1 M- z( ?5 @0 E$ U
| ├──07.第七节-如何从对象头获取偏向锁.mp4 67.54M0 S/ W9 C5 D% Q- K. p: K% H) h, F9 l
| ├──08.第八节-如何从对象头获取轻量锁.mp4 67.50M
1 I8 [1 M! |/ u& t| ├──09.第九节-完整链演示锁的升级过程.mp4 98.03M
7 i& N! f5 ?' h7 L! I2 W| ├──10.第十节-如何从对象头锁的信息课程总结.mp4 40.32M( |' b, w) v6 A+ R, r; r
| └──资料.zip 195.75kb, p( t; G! |: U4 G7 x2 [# F
├──009.第九期-JUC并发编程之synchronized锁升级过程原理分析
( R+ d4 w7 h; d M, c' K| ├──01.第一节-简单回顾对象头与锁的升级过程.mp4 75.54M
6 {8 m- C1 p3 r$ d6 q% q| ├──02.第二节-画图分析synchronized轻量锁获取锁实现原理.mp4 126.88M
. u+ A" B. I2 y9 H1 z| ├──03.第三节-画图分析synchronized轻量锁释放锁原理.mp4 182.59M
( |1 U2 T/ T* C. o! E| ├──04.第四节-画图分析synchronized轻量锁释放锁原理.mp4 20.13M7 o) u, `, O/ K& V9 A* l1 _# l
| ├──05.第五节-字节码角度分析Monitor指令.mp4 96.66M1 }$ U' I; u1 a9 N" i
| ├──06.第六节-Monitor指令分析.mp4 66.26M9 s+ U1 |, {. }4 } ?4 E1 E
| ├──07.第七节-Monitor虚拟机源码解读分析.mp4 105.59M3 ?8 J/ c. O4 k8 E1 E
| └──资料.zip 195.75kb
+ B+ B7 e3 y6 q# q/ M6 ~: Q├──010.第九期-JUC并发编程之画图分析synchronized锁的升级过程 + y3 B# B6 R5 a- H
| ├──01.第一节-synchronized终极底层原理总结介绍.mp4 29.59M8 M# Z/ ~& e5 a$ E' _; m+ u# `
| ├──02.第二节-画图分析synchronized偏向锁原理01.mp4 113.32M
6 q5 M. q+ ], [; [ z. C7 F| ├──03.第三节-画图分析synchronized撤销原理.mp4 53.70M
* B d6 M( G* j! k* i4 y| ├──04.第四节-画图分析synchronized轻量级锁原理.mp4 117.94M- U1 d, j" |6 f( e
| ├──05.第五节-画图分析synchronized重量级锁原理.mp4 53.03M [, h/ I, @0 P/ O" x4 D
| ├──06.第六节-画图分析synchronized批量重偏向锁.mp4 144.78M; W0 Q9 p/ n1 W# X( A
| ├──07.第七节-画图分析synchronized批量撤销.mp4 65.36M u% u, Y! t, d7 I9 J3 j
| ├──08.第八节-synchronized锁的粗化.mp4 16.57M
0 N! M7 ~; R1 d| ├──09.第九节-synchronized锁的消除.mp4 23.10M
, ^5 F: ?% z$ ?$ F/ u" F4 i5 K7 M| └──09.第十节-完整文字版本总结synchronized原理.mp4 130.39M6 Y k* C# \2 Z! Q1 F/ f
├──011.第九期-JUC并发编程之Threadlocal如何避免内存泄漏问题 ' ?$ c! \. ~- H c0 d. G) _& u
| ├──01.第一节-Threadlocal原理解析课程内容安排.mp4 18.68M( K: b7 e+ s9 \" T% E# H4 q
| ├──02.第二节-Threadlocal基本的用法.mp4 40.69M2 W& x, L" L! }# B& _
| ├──03.第三节-Threadlocal应用场景有哪些..mp4 49.72M9 l# L7 c$ Z$ x! b4 i
| ├──04.第四节-Threadlocal真实例子讲解..mp4 112.83M
, ]+ k' Z; A N% M| ├──05.第五节-内存泄漏与内存溢出区别.mp4 27.33M5 L2 b" D5 }: ^3 ~( c
| ├──06.第六节-什么是强引用.mp4 52.39M
( c: o" Y4 ?) H! Z5 r5 u3 u' G4 R| ├──07.第七节-什么是软引用.mp4 62.72M
+ u- c* e6 p! r2 |, J| ├──08.第八节-什么是弱引用.mp4 26.65M# q; f+ F5 W( G5 [, c" r" s
| ├──09.第九节-Threadlocal底层源码解读.mp4 116.00M, o5 V! |% u5 Z3 a. W( S5 U
| ├──10.第十节-Threadlocal内存泄漏原因分析01.mp4 108.27M: h1 N& j. _6 l( j% e4 h( Q* w0 Z4 R
| ├──11.第十一节-Threadlocal内存泄漏原因分析.mp4 77.47M
; |4 K7 T& P) U b| └──12.第十二节-Threadlocal课程内容总结.mp4 45.19M- e3 g1 y( d% {+ j% i4 t, U! R% G* z
├──012.第九期-JUC并发编程之Java内存模型底层原理 % n. ^% V9 ?% s* y' M; u, b5 B
| ├──01.第一节-为什么需要加上Volatile.mp4 66.14M- J' O! }3 V+ J6 f+ L" h; _2 h3 u4 U
| ├──02.第二节-Volatile关键字基本概述.mp4 28.95M+ Z$ C( b9 B! X* N, Y3 O, C0 a- {
| ├──03.第三节-Volatile基本用法.mp4 43.80M
- B7 P* p! p" Q/ f* d. O4 F% T| ├──04.第四节-cpu多级缓存的作用.mp4 67.52M; j# ^; a+ w: d, L7 s, X4 y+ h
| ├──05.第五节-为什么会发生线程可见性.mp4 66.93M: @3 ?. p$ T- q: H+ Y
| ├──06.第六节-什么是java内存模型.mp4 59.49M0 W5 I* q" K4 Q9 O
| └──07.第七节-JMM八大同步规范.mp4 128.58M
; j- m# W) g* P! n: _& s├──013.第九期-JUC并发编程之Volatile关键字底层原理
9 C+ W' E. a3 |4 E; M8 m. Z| ├──01.第一节-volatile关键底层实现原理.mp4 115.97M' Y1 D7 @( b( }9 g. w- p& ~5 @
| ├──02.第二节-mesi缓存一致性协议原理.mp4 79.47M
9 U+ v9 D2 s: r1 x. W1 S2 K| ├──03.第三节-为什么volatile不能够保证原子性.mp4 65.48M9 u7 S) T `7 e2 ~. O5 B2 Y
| ├──04.第四节-为什么System.out.println保证线程的可见性.mp4 70.83M9 l: n; L5 b' C4 R* z+ H5 m" W+ Z
| ├──05.第五节-什么是重排序.mp4 27.98M/ F3 s! Q% z7 `7 N6 ]6 \8 v
| ├──06.第六节-多线程的情况下发生重排序结果会有哪些影响.mp4 67.93M
: ^+ Q+ ?$ ^3 f+ Z4 O4 m& _| └──07.第七节-演示多线程情况下重排序产生的问题.mp4 110.29M
( `5 W5 M- J8 j5 @4 L├──014.第九期-JUC并发编程之单例模式七种写法与如何破解单例 ( C* k0 Z2 o+ p- z8 |
| ├──01.第一节-什么是单例模式.mp4 21.38M/ M( F) b$ B; n5 m2 L0 [
| ├──02.第二节-懒汉式线程不安全.mp4 38.62M5 n) A5 e8 e- K
| ├──03.第三节-懒汉式线程安全.mp4 34.46M4 G3 \' N# p- N
| ├──04.第四节-懒汉式双重检验锁.mp4 61.68M
4 {. o& d1 n# S5 V E8 A% u- F| ├──06.第六节-饿汉式.mp4 37.00M
6 W' S- {- K2 b| ├──07.第七节-静态代码单例.mp4 12.83M6 `+ W" [7 o1 {2 n: N
| ├──08.第八节-静态内部类的形式.mp4 48.44M
2 y+ p2 B& s. f| ├──09.第九节-枚举单例.mp4 52.32M
$ g. `6 A3 k" r. A3 j3 \& S6 R| ├──10.第十节-反射如何破解单例模式.mp4 138.96M
2 a+ t* k" W- ^3 [! ]| ├──11.第十一节-序列化如何破解单例.mp4 43.07M' K* P9 X2 A- ]% P v) K; d
| ├──12.第十二节-序列化如何防止单例破解.mp4 98.67M
( A6 G: ~; M% h: G3 l& Z, D| ├──13.第十三节-java真的能够实现真正意义上单例吗.mp4 16.90M' V/ t% V' s# S- n
| ├──14.第十四节-反射破解枚举单例.mp4 80.85M
' E3 I3 L5 g6 Y7 N( [/ \ f| └──15.第十五节-枚举如何防御反射破解单例.mp4 68.00M& o5 r8 C2 ^ ~8 n& Q# Z N% Z
├──015.第九期-JUC并发编程之内存屏障实现原理 $ A( }# B+ X( K' g0 M: I, t
| ├──01.第一节-什么是缓存行.mp4 105.03M- c) x0 U/ l Y- b2 X
| ├──02.第二节-为什么加上Volatile效率变低01.mp4 36.13M
, L# m1 C) @ M J| ├──02.第二节-为什么加上Volatile效率变低02.mp4 157.13M
( G4 u }" y& v- z% q| ├──03.第三节-@sun.misc.Contended.mp4 21.88M5 ?- L9 W a( t `3 i% ~, N
| ├──04.第四节-重排序有哪些好处.mp4 29.82M
* V5 |2 s% S7 B/ p% v* {| ├──05.第五节-编译与处理器重排序.mp4 181.91M
5 ~4 e: I: V' L5 w" F; F4 C| ├──06.第六节-双重检验锁单例为什么需要加上Volatile.mp4 129.80M' q; Y5 _/ y) r. j4 b
| ├──07.第七节-内存屏障如何保证可见性和禁止重排序.mp4 132.53M
7 ? {% p/ E) B8 w6 C: n) ~. `/ u" j' B| ├──08.第八节.unsafe类调用内存屏障实现禁止重排序.mp4 73.86M' k5 ~# Z B2 I
| ├──09.第九节-写内存屏障的疑问.mp4 16.62M
' l/ W6 b* i* J6 F' y| ├──10.第十节-happens-before规则.mp4 47.00M/ k3 J# z* e8 M, B9 J8 P
| └──资料.zip 195.75kb
5 f) K7 f' q2 S" |$ A├──016.第九期-JUC并发编程之BlockingQueue实现原理 : P' y7 f9 L) F7 z" o6 m
| ├──01.第一节-队列模型的架构设计.mp4 58.38M
- O2 ?( j% g4 q" Z) y# y: q| ├──02.第二节-数组与链表结构模型.mp4 88.81M
, T4 b, E2 o% J( f| ├──03.第三节-基于链表实现队列原理.mp4 70.13M4 J8 N4 J4 @& k2 C9 o
| ├──04.第四节-简单回顾lock锁的使用.mp4 29.03M
: n( K* w" k% ]2 d* b* ?| ├──05.第五节-Arrayblockingqueue的用法01.mp4 143.44M
$ |9 v% |3 C% ^* z% w) V| ├──06.第六节-Arrayblockingqueue的用法02.mp4 66.14M
/ q% b8 T% O& C| ├──07.第六节-Arrayblockingqueue的用法03.mp4 30.21M5 y3 e/ W0 r6 I( s0 M+ s
| ├──08.第八节-纯手写Arrayblockingqueue存储功能.mp4 95.97M
: s1 D# G+ |; R) }- ]% p; F| ├──09.第九节-基于Arrayblockingqueue实现生产者与消费者模型.mp4 117.37M
$ ]( H t; F6 {" g; E9 l/ W" y| ├──10.第十节-Arrayblockingqueue阻塞功能如何实现.mp4 116.21M% w, B" y% b- n
| ├──11.第十一节-完善手写Arrayblockingqueue.mp4 59.09M
$ f4 ]4 O6 \/ b| └──12.第十二节-Linked与arraylBlockingQueue区别.mp4 102.53M$ a* f8 M7 L4 Q1 ^9 n
├──017.第九期-JUC并发编程之线程池底层实现原理
, S; j6 P- L% l$ c| ├──01.第一节-为什么使用线程池.mp4 110.47M3 z0 B+ d9 \. o# ~ x
| ├──02.第二节-线程池的作用有哪些.mp4 76.25M
% |4 ]6 A3 V6 c9 _' M| ├──03.第三节-线程池四种创建方式.mp4 53.44M( ]& y# G4 ?0 G4 l3 X
| ├──04.第四节-线程池之可定长度和单例线程池.mp4 29.03M0 d! ]5 l" k6 {5 n. p- `4 q. a
| ├──05.第五节-可定时线程池.mp4 11.49M
. k3 S! n# J. M0 T0 V! X/ \1 s: d| ├──06.第六节-手写线程池底层实现原理思路.mp4 83.17M
3 m9 ~3 X& f5 E9 r6 }. p. z| ├──07.第七节-代码纯手写线程池.mp4 84.77M( S& u+ u3 a$ L7 C. c
| ├──08.第八节-代码手写线程池之如何停止线程池.mp4 53.67M
/ f) a9 Z4 b# s+ || ├──09.第九节-手写线程池如何避免cpu飙高的问题.mp4 173.31M
& p I2 Q! a+ i% J( z) y| ├──10.第十节-threadpoolexcutor核心参数.mp4 69.30M; l5 [2 T9 t; u- @: \+ l
| ├──11.第十一节-如何自定义线程池.mp4 149.56M3 w9 w& y, I8 t3 q: c: j$ A/ C/ @+ H
| ├──12.第十二节-为什么阿里巴巴Java开发手册中强制要求线程池不允许使用Executor.mp4 27.67M; x. w4 |' p( Q
| ├──13.第十三节-线程池队列满了如何处理呢拒绝策略.mp4 73.96M0 T% L! A9 ~: z1 t6 x3 S3 F" B
| ├──14.第十四节-如何自定义线程池名称.mp4 38.96M
( I2 J" B/ `8 }4 v) {| ├──15.第十五节-线程池五种状态.mp4 48.67M
) f, |3 X- b% o2 N2 L9 g| ├──16.第十六节-线程池内部底层实现原理.mp4 108.76M, @9 A- W. H" q3 V: O% B0 S7 d
| ├──17.第十七节-线程池内部工作线程如何一直运行状态.mp4 35.04M% o& y7 ~' Q1 _5 L
| ├──18.第十八节-线程池核心线程数如何配置.mp4 116.52M
& G+ f" V# ~- m| └──19.第十九节-SpringBoot如何整合线程池.mp4 21.34M0 U& `) ^# v) d9 _
├──018.第九期-JUC并发编程之AQS底层实现原理
' G. Q+ j9 Z D! w3 v. M| ├──01.第一节-什么是AQS.mp4 46.94M' u' Z' B* P. m- J
| ├──02.第二节-简单回顾AQS设计知识点.mp4 40.95M
9 a* ~: R9 ?6 ]% V: G| ├──03.第三节-简单回顾CAS底层原理.mp4 50.95M
5 W8 e* p1 \7 S4 i" g& @; }6 m| ├──04.第四节-简单回顾locksupport.mp4 25.21M' w: n- l1 V( f s! m& X" n' l" h
| ├──05.第五节-lock锁源码解读.mp4 124.17M
' y A( ?/ y3 ~ N& _. j/ r| ├──06.第六节-非公平锁源码解读01.mp4 43.87M
1 y4 g5 }. U) k5 h+ _# }| ├──07.第七节-非公平锁源码解读02.mp4 329.45M9 _ t7 r/ x! Y( X! m7 D
| ├──08.第八节-lock双向链表结构疑问.mp4 30.40M
0 Q' {- d! [9 Q7 C' V| ├──09.第九节-AQS中为什么头结点是为空的01.mp4 40.61M- t; d! u! q, _( n$ x0 {( V5 j/ s
| ├──10.第十节-AQS中为什么头结点是为空的02.mp4 8.11M( R. L5 ?: q Z) }; x6 Z. Z
| ├──11.第十一节-简单回顾AQS基本实现原理.mp4 163.20M1 G! k+ W+ K, D" ~# ~1 o/ o
| ├──12.第十二节-AQS源码分析之如何阻塞一个线程01.mp4 151.25M6 i* g4 n% @8 I2 S& Y. X& E O
| ├──13.第十三节-AQS源码分析之如何阻塞一个线程02.mp4 107.83M7 n: E9 ]8 p `# q5 ~/ D, ]
| ├──14.第十四节-AQS源码之重入锁如何实现.mp4 38.64M2 e3 s0 P! G0 I( g6 p
| ├──15.第十五节-Lock锁如何释放锁的.mp4 157.70M
1 c2 A/ ^: m6 @5 e. || ├──16.第十六节-Lock底层公平与非公平锁实现区别.mp4 31.09M; k. k4 }( `' e/ { o* h
| └──17.第十七节-AQS源码总结.mp4 11.67M. b" Z' l3 I& n- [2 e; S" F3 {
├──019.第九期-JUC并发编程之Lock锁的condition源码解读
7 l9 n, k/ s8 ]| ├──01.第一节-回顾等待池与锁池之间的区别.mp4 118.41M4 D( b+ H. E- ?5 }
| ├──02.第二节-等待池源码解读.mp4 57.07M; i; ]* ^4 `, c. I
| ├──03.第三节-await方法底层源码解读01.mp4 102.70M
7 F |8 j9 f+ D! p/ J0 b) N# o| ├──04.第四节-await方法底层源码解读02.mp4 149.64M
; |3 X5 O+ ]; c| └──05.第五节-如何唤醒等待池中的线程.mp4 94.99M4 F1 o* |$ h- ]3 T1 t
├──020.第九期-JUC并发编程之Semaphore源码解读 2 @7 }* m' n0 s) B
| ├──01.第一节-Semaphore基本用法.mp4 146.38M
2 v4 ~8 o" [8 r5 h| ├──02.第二节-Semaphore如何实现限流.mp4 70.42M5 ^' F4 B) Q# J9 f- a; _+ K. r
| ├──03.第三节-Semaphore源码解读01.mp4 340.08M
4 _. T2 o# I7 @| ├──04.第四节-Semaphore源码解读02.mp4 108.15M" l$ \: h7 k0 [, K4 A. M
| └──资料.zip 195.75kb8 X% ?# _8 d) j3 F5 {2 X9 {3 [! i
├──021.第九期-JUC并发编程之CyclicBarrier源码解读
7 |& S9 z& A U8 S& || ├──01.第一节-CyclicBarrier用法.mp4 115.10M
5 v k2 F; ?1 s4 N% A" x0 \( || ├──02.第二节-CyclicBarrier源码解读.mp4 147.63M
4 S! Y+ v: \* S0 Y6 j) d5 l- t| ├──03.第三节-CountDownLatch用法.mp4 58.93M/ ~$ s' {1 O' w
| ├──04.第四节-CountDownLatch源码解读01.mp4 67.84M9 ?" c K5 M, s( W7 i3 x q. T
| ├──05.第五节-CountDownLatch源码解读02.mp4 102.67M$ _& P E3 }& o& x. W" N
| ├──06.第六节-AQS源码总结01.mp4 156.02M
3 z2 v( W5 _, B| ├──07.第七节-AQS源码总结02.mp4 56.82M# H1 j$ F" e, j# i1 l4 X
| └──08.第八节-AQS源码总结03.mp4 107.12M3 R; }* G7 U6 ~) y, R- J8 G
├──022.第九期-JUC并发编程之forkjoin底层原理
/ Z2 r4 z1 s) C2 N| └──视频正在努力讲解中,后期讲解完毕会更新的.txt 0.08kb
! h, I$ A9 i1 q# S2 O8 d4 K& W├──023.每特教育第九期-JUC并发编程之disruptor原理 ( V4 q% M/ i, A
| └──视频正在努力讲解中,后期讲解完毕会更新的.txt 0.06kb
. J) Q% A, [# ]$ r% S├──024.第九期-JVM专题之类加载器设计原理 * z5 H4 _ k: D+ h$ x# p; ~7 {$ u4 F
| ├──01.第一节-类加载概念引入.mp4 68.54M
( l7 ^6 \( X; y0 c| ├──02.第二节-class文件读取的来源.mp4 12.71M6 E* j; o+ I. n4 y( E
| ├──03.第三节-类加载器的分类.mp4 177.72M
; q% h1 k# Y. o+ N| ├──04.第四节-什么是双亲委派机制.mp4 108.04M" g4 N. j7 p& L' t$ r
| ├──05.第五节-双亲委派机制案例演示.mp4 45.99M
* h& H! p% a S, {4 N| ├──06.第六节-双亲委派机制源码解读01.mp4 102.39M+ d7 X( h( I' {( m3 R4 i3 i
| ├──07.第七节-双亲委派机制源码解读02.mp4 22.76M, F. ?$ B! U1 W& U) K" \# s
| ├──08.第八节-双亲委派机制源码解读03.mp4 133.77M0 T+ d* T: [% `* Z# ~
| ├──09.第九节-new一个对象class如何被加载.mp4 33.39M
! B3 i+ t1 X5 f- C8 Z| ├──10.第十节-双亲委派机制原理细节分析.mp4 143.69M
7 ]; Q4 T& r2 u5 [% y% E| ├──11.第十一节-如何自定义一个类加载器.mp4 264.36M
* l! T7 a: w. H4 V2 p# Y" x- G& h| ├──12.第十二节-如何手写一个热部署插件.mp4 71.67M/ u# U# u4 t2 a" |
| ├──13.第十三节-代码一步一步手写热部署插件01.mp4 157.07M+ e+ E% G2 e. W4 g( X# h2 `. W4 j
| ├──14.第十四节-代码一步一步手写热部署插件02.mp4 149.31M
3 T) @7 p' m6 l| └──15.第十五节-手写热部署插件的演示.mp4 42.19M
9 C7 y* ?, e/ o7 | _7 G├──025.第九期-JVM专题之SPI破解双亲委派机制 ) c& |8 F1 u; s1 w6 K7 l! D
| ├──视频正在努力讲解中,后期讲解完毕会更新的.txt 0.04kb
4 l4 U" K/ X5 H: i- @( n( |' x% g| └──资料.zip 195.75kb' A; g, e1 b G \) ~: ?
├──026.第九期-JVM专题之栈帧内部结构分析
7 k. t( d, z1 h| ├──01.第一节-什么是程序计数器.mp4 107.16M
9 y: M8 C9 J( s1 o1 P* J8 {% U| ├──02.第二节-什么是栈01.mp4 58.22M
0 S3 ^8 @. ^+ ?3 {) i$ t' f| ├──02.第二节-什么是栈02.mp4 20.74M
" F& C6 M# z: [& y| ├──03.第三节-什么是栈帧.mp4 59.25M( u; w8 E" g, _- y, |. J& k$ S
| ├──04.第四节-什么是局部变量表01.mp4 139.85M8 k' n& X0 {+ H
| ├──04.第四节-什么是局部变量表02.mp4 10.96M
. x! m1 |$ T5 b5 r, a. m% V1 e| ├──06.第六节-站帧-局部变量表中-槽的概念.mp4 120.27M
" i3 Q. C H; T, W# z" @8 d& U4 o| ├──07.第七节-栈帧-局部变量表总结.mp4 11.05M
3 Z/ j, O7 o: I' U| ├──08.第八节-栈帧-操作数栈分析01.mp4 171.89M; h/ {5 @; A& O+ M
| ├──08.第八节-栈帧-操作数栈分析02.mp4 44.08M1 S9 w% T0 p/ ~6 q9 |! u
| ├──09.第九节-I++和++i的底层原理01.mp4 75.95M6 t0 Q. d+ {8 V6 U& X# C
| ├──09.第九节-I++和++i的底层原理02.mp4 67.21M4 N9 F! [" t& s# F0 f0 T7 T
| ├──10.第十节-什么是栈溢出01.mp4 7.03M$ m& r7 U' i2 e+ ]: t
| ├──10.第十节-什么是栈溢出02.mp4 39.42M. l$ Z }4 n8 a, l8 J8 o7 R
| ├──10.第十节-什么是栈溢出03.mp4 37.79M
4 w0 E9 C! _6 D0 T/ M( _. H| └──10.第十节-什么是栈溢出04.mp4 38.97M1 Y4 |! u d) |4 D
├──027.第九期-JVM专题之字符串常量池原理
. w7 J w1 |2 A4 g% ]6 [+ {# H| ├──01.第一节-什么是常量池.mp4 156.98M
2 ]# f2 n3 a% E1 p1 G| ├──02.第二节-局部表与常量池关系.mp4 66.92M' R2 l* K! d! X4 k
| ├──04.第四节-什么是动态连接.mp4 87.50M+ T* t# q, b; u* A6 P( Y) N7 {$ D @
| ├──05.第五节-常量池分类.mp4 63.91M
' ~6 {& a. k; }, j| ├──06.第六节-JDK7之前的常量池.mp4 49.43M" ?; _9 @3 m6 @; u, J
| ├──07.第七节-String类源码解读.mp4 28.65M
! V# V' l2 e. l L3 ~7 ?& X| ├──08.第八节-JDK1.7之前和1.8开始字符串常量池存储位置.mp4 33.56M
; v* e, _# X+ ? ]| ├──09.第九节-string常见面试题.mp4 111.08M4 m8 w# l3 p3 ^# ]/ M
| ├──10.第十节-字符串修改会创建几个对象.mp4 66.44M4 c& o {' ]5 s" n j, f7 z
| ├──11.第十一节-字符串在编译阶段自动优化.mp4 43.89M ~; I; b& g% q$ }$ ]: ~$ ?
| ├──12.第十二节-变量字符串相加的原理.mp4 116.42M! R1 l% ~) R. }6 E: t
| ├──13.第十三节-stringbuilder底层实现原理.mp4 218.09M3 w8 b7 |; e& h4 W7 k v
| ├──14.第十四节-stringbuilder扩容原理.mp4 69.95M
. A1 }/ {' \; @/ v ]. s1 L4 Y| ├──15.第十五节-字符串常见面试题总结.mp4 17.13M
) j( T" J1 ^& x& d, Q0 x, s4 h| ├──16.第十六节-字符串的延迟加载.mp4 57.96M
* Q" }& k8 {0 |0 d# s7 V: G* |8 || └──17.如何证明字符串常量池是存放在堆中.mp4 48.69M2 S+ _8 m' Q0 p3 b
├──028.第九期-JVM专题之堆内存溢出&cpu飙高的问题
6 G- R1 Y2 o3 r9 c% \2 R5 F5 a5 m| ├──01.第一节-new一个对象底层如何存放.mp4 29.06M
7 ^* e1 K" [! s( l- R/ [| ├──02.第二节-什么是内存泄漏问题.mp4 91.13M" U% n' G2 Z6 T+ {, P- Y3 t( a
| ├──03.第三节-堆内存溢出解决办法.mp4 103.78M
% r+ D g$ U" }) b. _2 r. t| ├──04.第四节-jps&jmap指令分析堆内存01.mp4 121.65M
3 {- T' L. Q: z' H! E# b+ e3 Z| ├──04.第四节-jps&jmap指令分析堆内存02.mp4 9.28M
0 c/ v" P; ]& B U| ├──05.第五节-如何分析GC回收多次对象无法释放内存.mp4 133.92M. j- o# i3 u: Y* i* e9 ~
| ├──06.第六节-代码模拟内存泄漏问题.mp4 70.83M% f" G% j! z; b6 Y+ x f. W
| ├──07.第七节-如何排查内存泄漏问题.mp4 72.46M8 F( Z" {0 ~9 o
| ├──08.第八节-如何在linux环境下执行jps.mp4 41.38M
+ N3 V- e* B7 ?5 n, A| ├──09.第九节-什么是cpu飙高的问题01.mp4 169.54M
. ^, q8 q3 `0 h9 m# e) l! _, F* Z1 i2 W| ├──10.第十节-演示windows环境cpu飙高的问题.mp4 20.24M6 e P, S. |3 \* w4 k
| ├──11.第十一节-如何在linux环境排查cpu飙高的问题.mp4 130.58M
6 c+ p. S3 ]8 E" w3 ^# o| ├──12.第十二节-使用阿里巴巴Arthas排查linux环境cpu飙高的问题.mp4 78.86M' @8 G: L9 @% I
| └──13.第十三节-实际生产环境中如何排查cpu飙高的问题.mp4 77.36M
3 c ]# e4 V4 n/ c: ~├──029.第九期-堆内分代设计与GC日志分析
% w5 b0 p0 L; L4 g6 z" P( t7 M: J| ├──01.第一节-堆内存细节内容安排.mp4 11.94M8 i& L' y+ P+ P# ~" y
| ├──02.第二节-JDK7和JDK8中堆内存变化.mp4 43.17M6 ^& m3 g6 `, _3 ?' y
| ├──03.第三节-jps指令分析堆内存情况.mp4 83.86M
/ b+ r+ ]7 _9 d7 |* q/ U5 a| ├──04.第四节--XXNewRatio新生代余与老年代比例配置.mp4 39.29M) Q2 ~( w5 q2 X/ [7 ]7 ?
| ├──06.第六节-StoptheWorld机制.mp4 21.41M
9 m1 R. }$ K+ u' l: {| ├──08.第八节-GC的分类.mp4 36.35M
$ t+ T. e- P0 ^& [8 G4 r| ├──09.第九节-对象晋升的细节流程.mp4 128.16M- @7 z) a+ A1 t# G. B* a: Q
| ├──10.第十节-演示新生代MinorGC回收过程.mp4 92.18M
$ r- Q" u: K/ |1 |' O' j| ├──11.第十一节-演示老年代FullGC回收过程.mp4 140.74M+ X' H8 i: O$ {/ ]- i& s% J
| ├──12.第十二节-新生代GC日志分析.mp4 170.76M
8 s: p4 {% P2 E+ n* ~0 J| ├──13.第十三节-老年代GC日志分析.mp4 37.05M2 f' m; B/ O2 l' v7 T, l+ N3 V
| ├──14.第十四节-元空间GC日志分析.mp4 7.75M( s+ _: A3 y& N2 V( w
| ├──15.第十六节-在线工具分析GC日志01.mp4 152.90M
2 z- N! V% P) Q# v8 L( x* }( k| ├──16.第十五节-在线工具分析GC日志02.mp4 127.48M+ V3 C, o6 Z0 f8 N; n' h5 ^6 ~
| └──资料.zip 195.75kb
' |0 r2 U: g2 J1 x+ R% Q├──030.第九期-内存逃逸分析 3 ~4 R7 D2 ?+ l, y* H7 t0 t: U
| ├──01.第一节-.new对象一定存放在堆中吗.mp4 53.63M
: V+ g( s) n% V5 H y| ├──02.第二节-为什么new对象需要存放在栈中.mp4 80.12M" Q! {& H- D" ~% D, H$ }
| ├──03.第三节-.jlt内存逃逸作用域.mp4 70.46M- n# H) u) ^" F$ w
| ├──04.第四节-逃逸分析代码演示.mp4 111.92M
; L4 s+ n9 U/ \0 _% p' N* {| ├──05.第五节-逃逸分析案例演示.mp4 37.16M3 f6 |% F* ^1 ^6 A9 Q
| ├──06.第六节-锁的消除.mp4 43.47M5 W& C+ R% e& {
| └──07.第七节-.标量替换.mp4 106.73M% u% T. _- k$ y2 D
├──031.第九期-永久代(元空间分析)---待整理视频
. _* |. \" F: E! Z o8 E/ \2 g7 `├──032.第九期-JVM专题之引用技术法与GCRoot(可达分析算法)
/ x8 i' \1 r7 @2 D' w) ?| ├──01.第一节-如何定义垃圾对象.mp4 72.46M2 V. k% ?# Y8 `) M1 e9 f) H% b8 W
| ├──02.第二节-什么是引用技术算法.mp4 83.38M
" X" F5 W* @+ [3 L! l1 ^| ├──03.第三节-什么是引用计数法-循环依赖问题.mp4 100.30M
$ i4 T" C* p% j' H7 _+ Z& z$ b| ├──04.第四节-GCRoot可达分析算法.mp4 82.90M
: g0 c/ F/ {8 D& S| ├──05.第五节-GCRoot如何解决循环依赖问题.mp4 60.09M
0 I: o6 Z/ @# H5 P O3 U. w# B& \| ├──06.第六节-哪些对象可以作为GCRoot.mp4 9.48M
# q6 b$ x: E1 f& O| ├──07.第七节-通过mat分析GCRoot.mp4 104.76M1 o& D& C' u5 k' P p) _
| ├──08.第八节-通过MAT分析GCRoot循环依赖对象.mp4 63.22M
8 n. L. ]3 T9 j- p| ├──09.第七引用技术法与可达分析算法区别.mp4 33.65M' O3 \0 l8 V1 x2 M3 x# b3 T
| ├──10.第十节-finalize复活对象.mp4 142.01M
. Q, f9 R# L( d S; [| └──11.第十一节-finalize方法的总结.mp4 62.05M# C( x, j8 G4 r( k# o
├──033.第九期-JVM专题之垃圾回收的算法(后期会修订) / e7 t/ C4 H' L( G0 ]& j
| ├──01.第一节-指针碰撞与空闲列表.mp4 67.65M
( T: ^- K' ~- j4 X, ^3 I& O; Y$ ~/ T| ├──02.第二节-标记清除算法01----改.mp4 43.92M
2 c8 ^, k* p* s| ├──03.第三节-标记清除算法疑问.mp4 55.10M8 n ~5 c7 d. F5 Y; k5 }5 l
| ├──04.第四节-标记复制算法01.mp4 74.11M; _' ~) S6 ?) p5 ~9 K; A3 e3 j a
| ├──04.第四节-标记复制算法02.mp4 17.13M4 M |* A( m ?( e3 D
| ├──04.第四节-标记复制算法03.mp4 46.06M
: ~" Z9 `9 K9 i| ├──04.第四节-标记复制算法04.mp4 11.68M1 ]: }7 z1 S! t" O0 p. J6 n
| ├──04.第五节-标记复制算法应用场景.mp4 15.34M [- d/ f& `' R3 I
| ├──05.第五节-标记压缩算法.mp4 44.74M/ l2 ^$ W) Q% |4 G% g6 P& c8 V
| ├──06.第六节-垃圾回收算法总结.mp4 44.82M4 \+ _4 }* v" N+ G% V
| ├──09.033.mp4 347.59M& g" ]6 m9 u* s: M
| └──新增移动对象&从新录制标记复制算法移动内存地址.txt
4 T \8 P( B N6 [4 R( ?├──034.第九期-JVM专题之对象定位访问与句柄池和直接引用 . i' z* r1 \; Y3 o! f
| ├──01.第一节-new对象晋升细节内容.mp4 128.16M
' m1 ]! Z3 r2 b f5 f4 s6 {8 l| ├──02.第二节-new对象晋升细节内容总结.mp4 12.34M
|; A, a- \- k| ├──03.第三节-通过工具分析对象晋升的过程.mp4 81.58M! g$ o4 l, ~5 y. `$ t6 @
| └──04.第四节-对象的定位访问句柄池与直接引用.mp4 62.88M
+ l- r) B; d$ ~, d+ B: }├──035.第九期-JVM专题之串行&并行收集器
3 u% @. s4 F# ^* T+ Y| ├──01.第一节-为什么不建议调用System.gc();.mp4 22.29M/ J* A/ T% z2 T7 O& k5 F
| ├──02.第二节-垃圾收集器与可达分析算法区别.mp4 22.45M
1 W; K" A* u4 H, X| ├──03.第三节-并行与并发收集器区别.mp4 60.08M+ ]/ W- B5 P h$ o8 S s0 F
| ├──04.第四节-评估GC性能指标.mp4 97.37M* f8 j$ |; \3 h' r& d
| ├──05.第五节-垃圾回收期发展历史.mp4 51.35M- k6 g7 {9 z! p! N+ J6 ]
| ├──06.第六节-七款经典收集器组合.mp4 93.30M
0 [) m2 H1 m+ j7 Q$ Y| ├──07.第七节-如何查看默认垃圾收集器.mp4 41.29M1 G5 B" T/ J0 c9 |+ c
| ├──08.第八节-串行收集器特点.mp4 47.02M
6 t5 O1 p+ a9 x2 }* x6 u2 K8 {| ├──09.第九节-画图形式展示串行收集器.mp4 7.53M
+ K2 t/ c" \* v& || ├──10.第十节-parnew新生代gc回收原理.mp4 55.75M
8 ]7 B- F' L A| ├──11.第十一节-串行与并行收集器之间区别.mp4 26.96M; t0 n E' e$ B6 f% J
| ├──12.第十二节-配置parnew新生代gc参数.mp4 13.24M# E" T; u5 ]% d9 L
| └──13.第十三节-并行回收的原理.mp4 54.63M
5 |; I1 U% Y3 b! t; ?9 c1 l├──036.第九期-JVM专题之CMS收集器原理 , C' D5 Y6 }+ x% g$ s
| ├──01.第一节-为什么需要使用CMS收集器.mp4 75.89M
% v u g8 ^% y$ z4 o7 k| ├──03.第三节-CMS之初始标记.mp4 62.84M
' k: o# [7 G1 e% X8 |( @| ├──04.第四节-CMS之并发标记.mp4 58.96M; O+ n: o% K: D j: w& j
| ├──05.第五节-CMS之重新标记.mp4 43.38M
$ @' |& [ g& D| ├──06.第六节-CMS并发清除.mp4 15.48M
. ?$ H. P6 B4 x) `, H- \* a| ├──07.第七节-CMS四次标记总结01.mp4 37.79M' u$ _9 G* [2 t1 c h3 F5 W
| ├──08.第八节-CMS在什么时候清理堆内存垃圾.mp4 18.51M
: R4 @( z" n( x| ├──09.第九节-CMS收集器的优缺点.mp4 49.27M
, V+ Z$ C9 B# v0 j, Z% J3 K9 s| ├──10.第十节-CMS收集器并发清除阶段缺陷.mp4 33.74M3 {* N) X: N& Q/ a
| └──11.第十一节-CMS收集器参数设置.mp4 109.23M+ [3 [, l- D w3 ? t
├──043.第九期-性能优化-MySQL实战分表分库 / A J% s! f: P/ r) S* W1 t
| ├──01.第一节-什么是垂直拆分.mp4 27.13M
6 S# v- G2 f1 S# J1 M| ├──02.第二节-什么是水平拆分.mp4 134.25M/ X# a K+ S7 F, L) |
| ├──03.第三节-shadingjdbc与mycat之间的区别.mp4 38.56M
/ l: C$ w/ I% X+ ?2 i! O5 q| ├──04.第四节-shadingjdbc分配策略.mp4 63.64M9 h3 }% G+ W0 i! L0 ~/ L3 L
| ├──05.第五节-SpringBoot项目整合shadingjdbc.mp4 143.93M
' |! v, J3 J, o| ├──06.取余分片算法优缺点.mp4 91.27M1 F L( W, \- d3 l3 U+ e/ b; G
| ├──07.日期分片算法优缺点.mp4 30.23M
6 x% m" ?& J& q, Z& }( B| ├──08.其他分片算法优缺点.mp4 44.14M* }4 z1 A7 j, i+ H- |
| ├──11.shadingjdbc整合范围分片算法.mp4 136.25M* C) r5 O' z. R* B. @
| ├──12.单张表数量达到多少分表分库.mp4 13.13M/ r9 \3 z" e' }0 Z x4 \: w" @
| ├──13.分表分库后shadingjdbc底层查询语句.mp4 101.31M H3 U) d7 c P/ C L/ x
| └──14.分表分库后分页如何查询.mp4 81.34M
9 t3 m" ~' N( `3 W├──044.第九期-性能优化-MySQLBinlog原理 ! v4 D: s' D0 y
| ├──01.第一节-什么是binlog01.mp4 71.98M5 d/ b z, b/ W- d
| ├──02.第二节-MySql集群架构设计原理.mp4 104.81M j) S3 H8 r; K) g$ Y0 T8 \- o
| ├──03.第三节-基于docker安装mysql主节点.mp4 123.85M
/ Q* q/ v( W$ ?8 t' C7 J+ x5 U& @| ├──04.第四节-基于docker安装mysql从节点.mp4 37.08M. A; o# p7 P7 v* s9 [( { y4 ]
| ├──05.第五节-演示mysql集群环境.mp4 173.76M9 A' O+ b+ ]+ l8 @" x g% F
| ├──06.第六节-如果发生mysql主从数据不一致怎么办.mp4 84.23M
, q3 j) k% n6 Q7 a& X S1 a% ^8 A" n| └──07.第七节-误删除mysql数据如何恢复.mp4 80.76M' i2 \+ I: O4 u M) t
├──045.第九期-性能优化-Binlog实现数据同步 6 x/ ~0 n6 h! I( v: {7 ?
| ├──01.第一节-mysql与Redis如何实现数据同步.mp4 60.76M
! Y1 X7 O. G3 M2 G D| ├──02.第二节-canal同步数据原理.mp4 104.09M
# B4 h/ J, x& d+ m+ V! l, P& B$ r| ├──03.第四节-启动canal监听binlog.mp4 155.34M# G3 a* p9 b/ b5 G$ u0 T
| ├──04.第四节-如何将canal的数据同步到redis.mp4 118.75M
+ B" ~: R9 }- B' l# u9 c| ├──05.第五节-演示canal同步数据删除操作.mp4 65.30M
8 Z6 k: f, n) {2 I| └──06.第六节-canal与mysql同步数据延迟问题.mp4 57.91M, y" a4 @" u9 T0 d' A3 C
├──047.第九期-性能优化-MySQLB+树索引细节问题
2 s- H& v* \5 B2 R2 E% E9 x4 f| ├──01.第一节-innodb为什么插入数据会根据主键索引排序.mp4 67.71M! s; w6 {* u4 Q4 L6 q/ d
| ├──02.第二节-innodb页的概念.mp4 197.68M* ^$ S: ?1 g* v( }( J
| ├──03.第三节-innodb页与页之间如何关联.mp4 45.67M
/ B) I: y$ K' I+ N| ├──04.第四节-innodb页的分组概念.mp4 68.74M
- x, x2 J! c- _% J7 V| └──05.第五节-一颗B+树三层可以存放多少条key.mp4 90.83M
1 r9 S5 C) Z) f) r2 [$ Z" E├──048.第九期-性能优化-MySQL查询语句优化
( d3 D/ ^* b1 g6 F6 p/ a| ├──02.第二节-explain中的列select列.mp4 110.44M
. U$ R5 X! }: M2 u5 u| ├──03.第三节-explain的type列all与index之间区别.mp4 75.94M/ ^) u1 `+ _- |1 b5 W7 ^. Q- E' @
| ├──04.第四节-EXPLAINType需要达到什么级别.mp4 262.93M3 O* }# q/ Z' O& o6 O% u# X, C
| ├──05.第五节-EXPLAINkey的长度如何计算.mp4 107.11M! F; N! _1 n# l: U6 I
| ├──06.第六节-mysql索引需要遵循遵循最佳左前缀法则.mp4 41.48M1 Y4 W8 V: ]/ t
| ├──07.第七节-mysql索引列上不要使用函数或.mp4 40.03M
8 ]! Q( r: ^) z2 }. ]+ j| ├──08.第八节-尽量使用覆盖索引返回数据.mp4 92.45M9 W7 W7 L$ [1 ?
| ├──09.第九节-索引上使用like注意事项.mp4 55.20M' ]6 ]5 `- n* G7 j) p* r4 z' M
| └──10.第十节-explain扩展列usingwhere与usingindex区别.mp4 157.74M
7 p4 A* _" E$ O├──049.第九期-性能优化-MySQL排序如何优化
! d+ b/ `0 o$ ^' T| ├──01.第一节-排序需要注意filesort.mp4 77.92M" V: d' S J9 p, v2 {5 z+ L5 e
| ├──02.第二节.filesort排序设计原理.mp4 32.70M$ q. r( W- F& w- Y
| ├──03.第三节-排序如何避免filesor.mp4 102.72M
1 u" Q4 E: ~) P3 N; I( k% t! N| ├──04.第四节-单路与双路排序设计原理.mp4 94.19M) z0 e9 `$ }# x" j% ?+ @8 |6 @
| ├──05.第五节-optimizer_trace(优化器跟踪).mp4 128.45M
7 h3 o% `+ c2 f- F2 R& O| ├──06.第六节-optimizer_trace分析单路与双路排序.mp4 48.13M
" \: A4 c6 R) J5 |# `| └──资料.zip 195.75kb
: ]( I9 M2 S1 L, E├──050.第九期-性能优化-MySQL表连接join和分页优化
3 V$ @1 B2 Q$ ?( X' G| ├──01.第一节-表连接join引入.mp4 106.60M' K* M# H: o: y) i3 L. r
| ├──02.第二节-左、右、内连接区别.mp4 95.50M
- a9 `, n7 d% o3 z8 k| ├──03.第三节-左连接设计原理.mp4 66.57M" e# ~% N) t/ T+ q. N
| ├──04.第四节-右连接设计原理.mp4 26.65M7 s1 t2 T, L# t- l- o
| ├──05.第五节-内连接设计原理.mp4 24.82M) ?7 t1 E$ E7 E: D _$ n
| ├──06.第六节-表连接必须要加上索引.mp4 100.87M
4 V- ]& x; k7 a0 C| ├──07.第七节-in关键字需要遵循小表驱动大表.mp4 27.34M) z5 r! C3 G0 V9 ]! i
| ├──08.第八节-exists关键字需要遵循小表驱动大表.mp4 20.35M
& g2 k- g+ m$ N8 _" _| └──09.第九节-分页如何查询优化.mp4 131.55M
1 D( ~' l( I: W% }9 n0 G& Z├──051.第九期-性能优化-MySQL行锁与表锁原理 0 y2 Z7 j9 o1 D" T: N
| ├──01.第一节-MySQL事务基本概念.mp4 113.76M
( Z) k( \' l! f, O2 x* M| ├──02.第二节-MyISAM和InnoDB的区别有哪些?.mp4 73.44M; k6 v, a! a0 V `, b
| ├──03.第三节-myisam存储引擎表锁与InnoDB行锁概念.mp4 107.70M, I0 H+ a. o; f h
| ├──04.第四节-mysql中的行锁和表锁.mp4 79.98M# V) ~% }' ^" u2 W
| ├──05.第五节-myisam存储引擎表读锁演示.mp4 92.67M7 z2 K- L6 r" J% i
| ├──06.第六节-myisam存储引擎表写锁演示.mp4 51.39M
+ Y6 O0 R! N% S% @$ p2 w| ├──07.第七节-演示InnoDB行锁.mp4 168.22M. z* m" U. l, i; y
| └──08.第八节-forupdate演示.mp4 50.01M
: v9 E% e8 ^: {9 U├──052.第九期-性能优化-MySQL间隙锁&悲观锁&乐观锁 X# ^+ G) e Z4 n& P4 I; O
| ├──01.第一节-简单回顾forupdate用法.mp4 74.06M& Q5 e; }+ a+ T2 n, P* H) o# a
| ├──02.第二节-悲观锁的用法.mp4 31.80M
: }8 X) j5 A; H& I" \( t: F7 ~| ├──03.第三节.乐观锁实现原理.mp4 246.88M1 j6 S1 H- [4 v; R) S
| ├──04.第四节-什么是间隙锁.mp4 38.86M" _, }; ~- _$ `9 m# `2 L" C- D
| └──05.第五节-注意行锁升级表锁.mp4 49.44M
9 c& E, f' Y2 W3 Q9 x: g├──053.第九期-性能优化-事务隔离级别&MVCC原理 4 S9 d0 Z2 {7 R' C5 K+ S
| ├──01.第一节-事务隔离级别与mvcc课程安排_ev.mp4 20.20M
+ [' v1 a" ^" r/ B0 E7 X, B| ├──02.第二节-mysql事务隔离级别引入_ev.mp4 40.64M
# ^- H+ S$ j& t8 B$ M| ├──03.第三节-mysql事务隔离级别之读取未提交_ev.mp4 52.20M# S2 n1 t ^( D+ Y2 F- {
| ├──04.第四节-mysql事务隔离级别之读已提交数据_ev.mp4 62.46M) j5 M( |% H2 h% v( ] z5 f
| ├──05.第五节-mysql事务隔离级别之可重复读_ev.mp4 46.51M" ?3 m; _5 ?& A* P9 t
| ├──06.第六节-mysql幻读的基本概念_ev.mp4 23.65M
" c5 z0 v/ W. _| ├──07.第七节-mysql可重复读实现思路_ev.mp4 19.06M {! u# P7 ^* r, k2 B8 U2 t7 a
| ├──08.第八节-mysql可重复能否解决幻读问题_ev.mp4 86.29M
, @0 ]$ e P, k- R0 g| ├──09.第九节-mysql事务隔离级别之串行化_ev.mp4 32.11M
3 s( \2 Y* u6 z' ^9 g: Q- B. |5 i( V! W| ├──10.第十节-MVCC基本的概念_ev.mp4 30.20M9 A+ E3 P! t6 D" P8 Y
| ├──11.第十一节-MVCC链表结构原理分析_ev.mp4 76.05M; \1 `- M! s% K g6 x
| ├──12.第十二节-readview视图四个不同的属性_ev.mp4 67.97M
+ |( n0 w# E6 n* `| ├──13.第十三节-mvcc版本链判断规则之为什么当前session修改数据能够立即查看?_ev.mp4 24.83M
" L) A7 e, U% `& _& l: F; H| ├──14.第十四节-mvcc版本链判断规则之读取提交或者未提交数据原理_ev.mp4 83.76M& {: K$ Q( A/ o& O9 ?4 q* ^
| ├──15.第十五节-mvcc版本链判断规则之可重复读设计原理_ev.mp4 31.28M
+ B# T7 y7 r4 M4 n% u| └──16.第十六节mvcc能否可以解决幻读问题?_ev.mp4 7.19M
. \/ d! t2 w2 Z8 n$ M( `+ G3 y2 i9 K2 N
8 z ^) m3 e; G
! l! ^& o7 f, [
永久至尊VIP回复即可下载学习,非至尊VIP暂不支持下载此资源!2 f' A6 Y4 F& n
' e% I& [2 S0 e. E( R8 f
- h- Z+ _: _9 O( N1 k" K. W6 U- w( G |