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