|
|
课程目录:2 t3 q6 f' m- [1 Y1 {1 \( D8 f+ r
第一周- ^$ {" h' [+ R P Y
介绍JVM的基本知识和发展历史,并介绍了Java语言规范和JVM规范。' _2 v# r# ?2 Q$ R: D, m" S4 |
初识JVM
& A; w2 A$ F# c: e' JJVM分类' y+ H6 A. f( O- D, b2 q2 j
Java语言规范
6 O6 [: G$ o1 p, ?$ z) Q8 ?& g% b( qJVM规范9 X7 ^2 s$ Z! V0 f( i+ E& X
8 K! m1 M3 K0 \1 Y6 c1 q第二周
$ Q9 W8 S; S1 n8 x2 N! m介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。
& D* L/ u) |) e( r0 W' w/ @JVM运行机制简介
/ T) K( A- |9 F) v8 x' P堆、栈、方法区等
1 x2 a {5 m8 h: m& ?# M0 ]JVM启动流程' E1 L/ x# H# R4 r! Y
内存模型和volatile实例$ X8 s5 C9 a$ G4 p) H
解释和编译运行的概念, M e: w( ~- q. k2 H- _
9 v8 f/ n" H8 B* p8 x# j/ o
第三周 ?( G' V( P9 K2 f8 ?
介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。' J* x5 {) ?; K
常用JVM参数6 o1 m+ R% q1 r# U/ q. S" r" ]
堆的分配参数
8 b! b7 h' e; g1 c8 D, y9 u) Z, [栈分配及实例讲解& X3 v. f9 L. Y; I: K' v& }7 r
server与client模式% m6 R: ]: z! D& }2 k k) d2 M
调试跟踪参数
) T+ [/ |6 ], q/ \* }, p2 H( S) ~ ?! c. b+ C! {
第四周
; j b5 I( V2 p1 L本章是理论性较强的一章,主要介绍GC的基本算法和思想,本章作为下一章节的前序课程。
/ f" w- X! j) i* e6 }/ kGC的算法和种类
1 T# a8 o$ `4 m, ]引用计数7 t7 ?. ~ N* P+ B: |* K0 b
标记清除
" ?' B1 D i% F$ s复制算法
7 }2 \- c' n. e8 O: u! r标记压缩8 z4 q$ p- w* J- w7 }# l
可触及性2 ^0 n% y$ R' q5 H
3 `9 Q. F+ K7 E; q% u第五周
5 Q. t' q; ^. t9 l' D7 X3 ]' b介绍GC的设置参数,并分析相关的案列
6 ~1 U6 `" q' E! rGC控制参数
% E! O9 V$ `* C1 \Serial ParNew等GC参数
) S4 U8 @- [" D- dGC的参数搭配实例分析
- x4 B0 X \0 @, I$ h6 h# b0 p* O" U( L4 I7 g7 D* z
第六周0 a ?3 n/ p: B
详细介绍ClassLoader的原理和应用。分析2个案例,说明ClassLoader的使用
e0 c) g6 w @类装载
" F y" M& |* A( ]/ yclass装载流程
9 A M2 v0 U7 L) B1 @ClassLoader模式, O& T: o4 @1 e: v4 b0 A# R( r6 P
ClassLoader的使用实例分析) i( u/ {6 P* r& T) f4 R+ \2 [
热替换例子
, z5 r! ^. ?- g; C5 L
( g9 I) G% }6 R, x# Y7 A/ i! J3 F第七周# u0 L. y( x& p2 R* Z6 t5 H5 w1 E' a
介绍常用的JVM诊断和分析工具,并以死锁和OOM为例,展示这些工具的使用
. W/ R6 z5 w# A! U- F: w性能监控工具9 l: L3 S' s5 g' m$ q) D
线程死锁分析
7 k3 i8 z/ }" i6 r. w H5 H9 b2 pOOM分析6 O' f& w( K6 o% {4 T
4 W) L7 X7 O9 k+ B5 o. O5 d第八周 y* F+ y* r- d2 ?! B' s% t
介绍了Java堆的分析方法,以一个实例为基础,展示对堆的分析过程
+ l8 x# \' b2 L' q) p9 b/ V分析Java堆5 A0 c1 I% h$ u9 }; \% P/ D
MAT的使用案例
4 v4 T/ E& M r f- ]Jvisualvm介绍使用
6 _; d# x: Q+ l" G5 z
V, w' Z0 d& m- v% V第九周. W# J0 a5 `$ q" V+ E \3 H
介绍JVM中对多线程锁的实现。
p& N( g5 \- l- y0 A锁
; X* e6 R1 B% P6 ?6 M# fbaise锁( W7 K" @% I' \9 f
轻量级锁
) ?+ s& ^+ a1 K" [! W& J6 z3 j自旋锁, s6 v. r' o7 I4 G7 W7 B' h
% A& A3 j1 |, F) h. [. ^1 }第十周
. ~8 v' a5 R6 E" a* b介绍JVM规范中的最重要的内容——Class文件结构,同时介绍ASM库的使用以及对class文件的修改。# S- a6 i8 S3 M# L$ w2 A/ X
class文件结构
' Z- N# D/ u8 }3 B( N7 yASM库介绍
4 C# {& p0 l8 C) ]$ h- w3 t A" A( X6 ^3 d+ ?7 a' i. }
第十一周3 V- ~; \8 p/ J- K. G" k% G
介绍JVM的字节码以及反汇编方法,同时介绍JIT相关的参数和应用
9 d" j6 }7 B. a2 l# b字节码执行+ T0 F4 w' j# f+ T! Q4 m" [
案例以及javap
: j3 \9 T. z! J' L5 ?JIT及相关参数
, z! B( `) X6 P3 p+ V! G$ `/ s) r l% q7 z: S9 `! |0 y& ?% `
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|