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