论坛元老
- 威望
- 0
- 贡献
- -3
- 热心值
- 1
- 金币
- 25747
- 注册时间
- 2019-3-17
|
课程目录4 X' z6 }* D) \) ?5 L) m" C) s
第一周
初识JVM* ~; R$ a+ E* n1 \7 |$ G" | C
JVM分类
Java语言规范
JVM规范 o R0 Q5 e; t' n5 C5 @: B
介绍JVM的基本知识和发展历史,并介绍了Java语言规范和JVM规范。
第二周
JVM运行机制简介
堆、栈、方法区等
JVM启动流程* V2 ~$ T$ ^% S
内存模型和volatile实例
解释和编译运行的概念; ` N( B+ k8 a2 Q9 p1 O
介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。' m0 i9 A; T; W0 K7 l' C- F
第三周
常用JVM参数
堆的分配参数
栈分配及实例讲解4 E, p0 i2 X# _4 `( g
server与client模式2 _+ @, [* S1 w
调试跟踪参数
介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。8 f( `/ h% z1 F& Z# [
' W+ g. a" b; G+ }! Z( e
第四周. ^; B# Z0 R1 L! |1 D/ M% M* I* Z
GC的算法和种类
引用计数+ |! f3 i' e( D5 _/ k2 C
标记清除' M* Q, z+ J7 T
复制算法# P* u1 b! t8 x+ U2 e
标记压缩+ {5 I! P* s$ l) B4 i) {
可触及性+ q( w- n: T8 J' X, N4 K. H9 ]5 z O
本章是理论性较强的一章,主要介绍GC的基本算法和思想,本章作为下一章节的前序课程。. Q7 a8 |2 V, T
第五周
GC控制参数; N% O6 ~6 T0 q+ q
Serial ParNew等GC参数
GC的参数搭配实例分析( h4 W* \* W: s1 O5 V8 f: F0 w
介绍GC的设置参数,并分析相关的案列。% M, F" a. s9 U$ L" v
第六周1 U% G# q) v- N: R3 _: ]
类装载
class装载流程
ClassLoader模式2 H) V! @1 n" t! o$ v( v
ClassLoader的使用实例分析& }' @0 Y3 X7 M1 W/ r; P
热替换例子) C7 B, [* Z# d& S
详细介绍ClassLoader的原理和应用。分析2个案例,说明ClassLoader的使用。! `& J9 a0 c+ b
6 t: ]$ E+ T( k5 z, U( u* d
第七周4 K9 o& D5 H' L
性能监控工具3 Q! I2 ^9 j- U8 w
线程死锁分析
OOM分析* r, x: ?. `) d
介绍常用的JVM诊断和分析工具,并以死锁和OOM为例,展示这些工具的使用。' a4 @3 m3 _. u1 T5 ]# X
0 z' Z# H& M }; B- C
第八周
分析Java堆" C2 B4 u% y v5 G3 }7 w$ \: D
MAT的使用案例, q9 I' y* Z1 m- x! w
Jvisualvm介绍使用1 d: p m+ ^4 A. e! o
介绍了Java堆的分析方法,以一个实例为基础,展示对堆的分析过程。& C/ v0 ]- e" c8 H* ~6 N
6 s/ H! d0 m. W' b
第九周
锁
baise锁
轻量级锁
自旋锁: X' |7 h! E7 @( l2 V- U
介绍JVM中对多线程锁的实现。
$ C1 l' {9 e/ ?8 d, ]4 c; L: I
第十周
class文件结构
ASM库介绍4 [4 J; Y a7 N" B7 F9 b9 Q; d ]- W
介绍JVM规范中的最重要的内容——Class文件结构,同时介绍ASM库的使用以及对class文件的修改。
- ?5 W$ G R: N4 U0 J& C
第十一周1 l5 y6 |& K$ s4 @
字节码执行
案例以及javap
JIT及相关参数1 U' B$ q# _; A% u( t
介绍JVM的字节码以及反汇编方法,同时介绍JIT相关的参数和应用。
|
|