|
|
课程目录:; _" |- m" J9 i
第一周
1 @0 d* u! T( J, c; n5 Q( c4 {介绍JVM的基本知识和发展历史,并介绍了Java语言规范和JVM规范。* b2 ~/ M- I( Z3 I+ ]0 A" a1 z; V7 b# [
初识JVM
' d6 H0 ]$ _, f% ~( mJVM分类
| A6 d; \& _- k$ _9 gJava语言规范 v/ }7 o9 B4 `. B
JVM规范
9 Y; S5 f) q4 g
: z+ ]' g* d4 P3 B$ W8 u8 x第二周# t8 ?2 O6 Y/ O
介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。
9 s! ~. ^0 ~9 i7 s' M3 T- gJVM运行机制简介
! Q' P/ \; @* v2 y2 h( E堆、栈、方法区等
! |) E# W8 y. ^: m" ^4 Y+ jJVM启动流程
) c5 r0 q6 `0 i内存模型和volatile实例7 u( Y: b F6 y4 }' R, \- z1 @7 |
解释和编译运行的概念
* v! C4 G* X0 w0 \" t4 A9 ^) o2 _; Z" V3 B, c+ \* Y+ \0 P
第三周
! p- R- C% ]- e介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。' G6 h) t1 C1 y" ^8 h D
常用JVM参数) F& z. I; U# ~8 C9 m3 q( u9 u
堆的分配参数
, o2 Q# Z* n, \, V* u栈分配及实例讲解
! V9 a( x) r, y9 Q2 {0 Xserver与client模式
9 Q& } r1 d. v' r% P* X2 ?9 l9 j调试跟踪参数4 a. k k0 G$ K+ z1 g/ D
5 q: n X2 N8 T# P* w5 l0 V$ d7 D' ~
第四周
+ O. a U' _ E本章是理论性较强的一章,主要介绍GC的基本算法和思想,本章作为下一章节的前序课程。
0 f S3 j" m# _% SGC的算法和种类
* W! ]; y' B- B' C7 m6 Z引用计数) E& r* z- n2 `8 Q! ^0 |2 ?% m, q) v
标记清除. C& B) r4 e- U9 f4 |
复制算法
% o8 g, _7 p$ {2 ^" j标记压缩
7 H7 Q6 H4 r& r, l可触及性
# j8 \. a; f# k& ]7 D1 i1 C9 I2 i0 b
第五周5 ]! ?1 W9 s+ K9 u# r' ~
介绍GC的设置参数,并分析相关的案列& o0 |3 G" |* o6 R1 y/ c7 h
GC控制参数
- {2 ?5 b4 i# F( A8 P, k5 ?Serial ParNew等GC参数$ G; f5 l3 w* P& I
GC的参数搭配实例分析: y( f/ Z$ O0 I/ }9 V: A: U: t! y
: X1 Q, G, ~, }7 t# ]
第六周# m& \% }& g$ I3 d2 h) @- k
详细介绍ClassLoader的原理和应用。分析2个案例,说明ClassLoader的使用
9 {: }# c) \ Z4 a6 z. u- N类装载
; P; ^4 \; }, m3 Wclass装载流程% ^. Q- x7 h8 `+ g
ClassLoader模式# o% N" Q( ?. V6 B* h+ b& I
ClassLoader的使用实例分析
5 G& F7 l; Y, s% r" P& C1 d热替换例子, @; U% I( D. [8 e# H% q) B
- H7 F/ y8 U; ~% V) h" i第七周
$ \( z. [9 k9 q Z( L5 ^2 _" ?介绍常用的JVM诊断和分析工具,并以死锁和OOM为例,展示这些工具的使用
: E8 H- j, D. o" h3 H性能监控工具
0 t" z3 r- S; Q/ U* r4 S+ G6 E线程死锁分析
5 \ {8 B7 g* S+ v' F2 hOOM分析
! d, O6 C1 Q2 Z `- Z8 e
1 y1 [. ^. h$ h) G第八周
/ b! H; V3 j9 @介绍了Java堆的分析方法,以一个实例为基础,展示对堆的分析过程
9 `8 B+ P/ Y- G6 ]. ~; D分析Java堆, j+ o& G! l# D2 {
MAT的使用案例' D* n8 y `, |, c- v8 F! q$ z4 [+ H
Jvisualvm介绍使用- x8 E+ Y+ y: ] w& y$ r
- W& o" |$ G6 z. Y; ?6 p第九周
" Q* B3 w. ]# X/ l) @' p% X! v( s介绍JVM中对多线程锁的实现。
- ^2 b6 y+ Z" |! F锁
; [/ w) p% u1 K$ z( Hbaise锁
6 W- I% R4 }$ H) F2 o, ?/ \轻量级锁
5 G; `4 h6 |: Q: ?, r自旋锁5 G+ x7 f; {) b9 P: l0 ^
& [6 ]( K2 c) [第十周
& Z1 E! o5 e# c- D3 a介绍JVM规范中的最重要的内容——Class文件结构,同时介绍ASM库的使用以及对class文件的修改。
( F/ l9 [! W% W/ K4 X4 m$ ~class文件结构
# W0 [/ ]6 K5 G s& X9 Z- KASM库介绍% u2 @! z# W( ^$ u" J* \
8 ?; f- A$ k. V$ ?第十一周! K6 i9 N# m$ p. y2 I
介绍JVM的字节码以及反汇编方法,同时介绍JIT相关的参数和应用
- m" v7 D6 W7 C' E* k字节码执行
/ g7 ]; `7 Q9 ]4 t! f2 j: [7 A# L案例以及javap- G6 V6 Z! m0 q, N t: Y7 Q0 G( i
JIT及相关参数1 Q" ^( [, k" w# R8 w; D/ c1 z7 C
/ J) _) f& u" W. ~ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|