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