|
|
课程目录:
/ \0 `! \: c$ C, B9 r0 G# @0 L第一周! [$ ^* z5 m& J2 V% l
介绍JVM的基本知识和发展历史,并介绍了Java语言规范和JVM规范。2 {2 T( V+ v: q& W, w1 n
初识JVM1 c+ Q! B/ Z& u8 |+ B% a4 q8 d
JVM分类
6 C" b2 {9 G5 K+ c- SJava语言规范
2 n6 [5 ]& c+ x4 LJVM规范+ T+ X! g x6 b! p& T
, E' F4 J: D$ |, S' c N第二周
9 ?4 T4 S! B- o3 s% h1 K2 ~介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。+ O5 h. \# k5 W( r1 W
JVM运行机制简介
" c) W; D9 {; N0 ], }! I堆、栈、方法区等$ }9 h5 ~8 ]8 G/ n( H) K8 Z
JVM启动流程
+ A1 I. }' {. X" @ k4 r/ s内存模型和volatile实例3 M" T1 c- \& ?8 _
解释和编译运行的概念0 X! [ X" {3 n4 |+ y) g
' Q/ N% B4 e* M/ [$ ]0 p( G$ r第三周
% t" }. L0 s2 J2 ~1 j介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。, b. S Z: @: v1 x
常用JVM参数0 P& _6 o5 |, g! `# Y1 i
堆的分配参数
- B/ H4 A7 U' r4 F栈分配及实例讲解
* r# x& o+ Q, g" k" S: j, z& qserver与client模式
0 ], b1 \/ T( C) x# q调试跟踪参数9 h' a! H) y0 L/ C; `# ^
' ^# \6 h4 p8 G8 D9 [8 ]3 \第四周
) V0 V0 ^1 I d: _9 B# @( A5 ?本章是理论性较强的一章,主要介绍GC的基本算法和思想,本章作为下一章节的前序课程。8 m2 Q5 h9 \; c8 O# k! V/ O
GC的算法和种类
( {5 h: R8 V; q) f( ^引用计数; r$ x* L1 e; }
标记清除
* b4 D3 T ?2 b! r% h$ i. }复制算法8 s; X9 H: C3 H. O3 V2 z ^
标记压缩) o+ U1 c: N0 U$ b3 H5 W$ m
可触及性+ r6 Q+ T. G! t* i
4 I# J9 P2 D4 s9 x+ Z' Y9 T第五周- L( g7 M/ e$ O# y. H8 x. b( Y
介绍GC的设置参数,并分析相关的案列
3 T8 R' V8 [2 f1 jGC控制参数2 s' L+ U2 P) R9 A( n) V, O# U4 H
Serial ParNew等GC参数
( d# [, \- f0 M* v6 T6 x: K& yGC的参数搭配实例分析
9 A% N9 ^( p! D0 m J/ k( @! i% M2 Z& i) _: y9 Y
第六周& ^ d4 y- s0 T; Q: o$ r* w" o
详细介绍ClassLoader的原理和应用。分析2个案例,说明ClassLoader的使用% z# ~1 s' v# r
类装载1 k) R" Z9 L7 G% }. o7 {
class装载流程
Z: x9 _1 W' T& k! E& AClassLoader模式# c6 C B) t! F8 w
ClassLoader的使用实例分析
9 ^9 {% I! Q2 ]5 a$ \! l. R/ n热替换例子9 Z! W8 I7 H* `: K; B
6 ]" E }2 `4 C: d* `: w9 F
第七周
2 K' g9 E' R5 b' G$ |" x, ]/ e介绍常用的JVM诊断和分析工具,并以死锁和OOM为例,展示这些工具的使用
" ^3 k1 m K% _0 b8 G( Y9 P性能监控工具
5 z( q- ^! h/ c* ^8 H线程死锁分析
' l0 _8 m" }6 i& ]" aOOM分析
4 l: S. D; K$ X( c% W& @8 |& K6 w$ j9 w/ U' y3 N- ]4 v
第八周
3 v b# v3 m8 Z$ h% V0 d介绍了Java堆的分析方法,以一个实例为基础,展示对堆的分析过程* |; J- P% |8 W5 k
分析Java堆
3 v* J, J" Q$ J, tMAT的使用案例
- O. E* o9 q7 J& _' C: C+ ?Jvisualvm介绍使用; I3 E3 N2 G; v$ Z
# S: H! k+ ?" f8 e5 D0 j, ~1 o
第九周
/ P. k) Q8 a. X# @ m介绍JVM中对多线程锁的实现。- e6 M! @, j& r0 `1 H A+ Y
锁
" a& J/ c3 p/ d0 Fbaise锁
1 P; g% a# y) f6 }- \轻量级锁, T) E( ~! V8 T
自旋锁% n2 g/ h. b' a1 y/ u
$ }4 L- S! n( O' Z& q
第十周
, h. ~+ p' W, i/ a# R/ |+ s介绍JVM规范中的最重要的内容——Class文件结构,同时介绍ASM库的使用以及对class文件的修改。
9 n, Q6 p7 B4 D9 U9 Tclass文件结构
4 _ i1 ]2 a4 H3 M& t9 ~ASM库介绍$ N( z- f/ @3 _& ?: g- d( h+ [' ^* B
& l$ C5 g5 p8 L7 Y+ C* c( X第十一周 ]) E2 K* h; f: ?: s) G$ n7 ]
介绍JVM的字节码以及反汇编方法,同时介绍JIT相关的参数和应用
- ?4 [4 J$ ^7 z$ m2 w! p+ I: N字节码执行, k; J7 w3 s3 v
案例以及javap5 R) H- Q3 y- |, O5 F
JIT及相关参数* ^/ t# C7 _& b
0 ? ]% G& w6 `
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|