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