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