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