|
|
课程目录:3 ?2 i1 H# n9 ^. w: m, c
第一周, l; l5 N* e8 C/ v
介绍JVM的基本知识和发展历史,并介绍了Java语言规范和JVM规范。
3 K+ @! i, P3 q! ~初识JVM
8 G. k/ l" ~: ]- K: q) |JVM分类
9 T6 U7 l5 S8 ~Java语言规范& v$ J4 R4 I& Y0 y* C% |7 i
JVM规范
0 P& p5 T! `% g8 P7 @8 q7 z2 {3 S
9 \0 P/ k" h& \3 ]第二周9 B; }: \* A2 i3 @
介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。
: [ z9 C! e A+ l7 tJVM运行机制简介1 u4 P6 I" R! n: u# N; _5 r
堆、栈、方法区等8 ]# ]' @3 f$ V& \$ V) S
JVM启动流程; ]5 \0 Q9 Z) [% v% g% I e
内存模型和volatile实例9 v4 s7 a, V# ?* C2 l) a- Z$ ^
解释和编译运行的概念
! o q* B8 Y' d% v" v) s0 u% R
& |* c* |4 o+ f第三周- k1 M0 A4 p* [5 W
介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。
; n6 E& R& I8 ]. I/ R) S常用JVM参数& A! p8 \: Q0 D7 d# B
堆的分配参数! X7 a t1 w- ^& G3 [2 V$ n
栈分配及实例讲解
- {( S, ~% S8 C2 \5 Zserver与client模式$ B2 b7 `" u# m4 i! {7 M: P6 c' ]3 ^
调试跟踪参数& H, Q- c' E( B8 ~% V' h
- h3 Q7 Z0 q# D+ \) [2 r4 m第四周
' l% K+ K3 V9 D. j5 m: |本章是理论性较强的一章,主要介绍GC的基本算法和思想,本章作为下一章节的前序课程。7 [) C* f1 E9 ], [$ n
GC的算法和种类
! H2 [" F/ a* L& i7 \% r引用计数
9 q( Y9 l6 N0 X# Y9 b! X# R5 t5 S4 ]/ c: i标记清除/ _; m s; A3 E3 `8 T v* d
复制算法8 X+ U: c7 j6 T; |
标记压缩- g i7 g( w1 ~7 c! E1 {
可触及性+ h" l1 {1 }. ^# G0 s0 a5 O
& Y1 z' t) G! I. u第五周( u$ Z% U+ c5 [
介绍GC的设置参数,并分析相关的案列
+ s3 ?+ _: I- t7 d# J2 g" E- QGC控制参数
2 S0 A! q" P5 w) c' l( }Serial ParNew等GC参数
T$ _5 C% ^% ~" CGC的参数搭配实例分析- O( v" S: J! x
G9 b: {! j& }2 v$ ]% R' _6 x0 ^2 @第六周
0 q. y8 `( [8 n( k8 E5 d详细介绍ClassLoader的原理和应用。分析2个案例,说明ClassLoader的使用% F: N: E( p$ m# u. A' |, a m
类装载
7 X1 r+ |" Z G, C% u. \9 n* rclass装载流程1 Y0 f0 n2 C, ~' c6 ?
ClassLoader模式' g' n, H# N! W
ClassLoader的使用实例分析6 d1 _$ W* [) U$ e
热替换例子, B# J9 Z' d# c% y: e% d
" d5 n& s$ t) f7 X# i" q9 W9 I第七周
6 ?& W8 [: i7 }8 ^3 a! H介绍常用的JVM诊断和分析工具,并以死锁和OOM为例,展示这些工具的使用
" h* }2 f( }4 e2 v! L性能监控工具0 K7 A% R. B( a/ J
线程死锁分析) H) x% |! m: Y+ A" o5 D) v' {+ M
OOM分析
$ W% {: J1 u7 B. u p, }
2 z8 F Z2 W( Y8 E6 s0 a第八周
4 ~" ~( m% c6 `9 t. Z介绍了Java堆的分析方法,以一个实例为基础,展示对堆的分析过程+ I2 o a8 ]( k. z9 @( y6 G B: W
分析Java堆
5 G# d- A2 d" X+ A9 C0 M# `MAT的使用案例( p/ p/ B J) k& H
Jvisualvm介绍使用
$ g1 \; P4 ~1 q/ }5 B$ P" d: R- C0 Y4 J, w+ V0 a# R
第九周+ o- z& s' X1 F: S8 u
介绍JVM中对多线程锁的实现。
3 w! m5 Q; q- u2 I2 Y0 j! w% Y锁) M Y' n9 a% B- a
baise锁) X7 p! J- Z1 I- t" \* }2 K
轻量级锁/ U# X& k* ]5 J9 }8 W
自旋锁
3 A: ?; M1 w" [' q5 U2 V/ L/ x
+ I. s% r+ {: S A2 t第十周
( h! W4 O4 w3 f6 S( A; a& i介绍JVM规范中的最重要的内容——Class文件结构,同时介绍ASM库的使用以及对class文件的修改。( [+ N) S. T( ^7 n0 N, b/ a( D3 M
class文件结构* X$ [7 Y7 q( x
ASM库介绍
* h, N7 E( E5 ]- C
. x% Y% c! e$ o3 y5 E; s J第十一周7 |# _8 p7 P6 K
介绍JVM的字节码以及反汇编方法,同时介绍JIT相关的参数和应用& s' Q4 g; x* U1 F2 X r9 o9 d
字节码执行
! K5 |! R0 @1 d9 P" a! u案例以及javap/ a. Z, p- w4 d" {
JIT及相关参数
: v W& U7 C, E
( q* W9 w! Y' C: F A7 J. ~ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|