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