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