深入理解JVM并做出调优诊断等工作
课程简介:
目前,Java是最为流行的编程语言之一,它的基础平台就是JVM。除了Java,如JRuby、Scala、Clojure等语言也运行在JVM平台。熟悉和掌握JVM平台有着重要的实用价值和意义。
在本课程中个,将详细介绍JVM的基本原理、组成以及工作方式,并配合实际案例,介绍相关的调优技巧。
课程大纲:
第一课
初识JVM
JVM分类
Java语言规范
JVM规范
介绍JVM的基本知识和发展历史,并介绍了Java语言规范和JVM规范。
第二课
JVM运行机制简介
堆、栈、方法区等
JVM启动流程
内存模型和volatile实例
解释和编译运行的概念
介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。
第三课
常用JVM参数
堆的分配参数
栈分配及实例讲解
server与client模式
调试跟踪参数
介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。
第四课
GC的算法和种类
引用计数
标记清除
复制算法
标记压缩
可触及性
本章是理论性较强的一章,主要介绍GC的基本算法和思想,本章作为下一章节的前序课程。
第五课
GC控制参数
Serial ParNew等GC参数
GC的参数搭配实例分析
介绍GC的设置参数,并分析相关的案列。
第六课
类装载
class装载流程
ClassLoader模式
ClassLoader的使用实例分析
热替换例子
详细介绍ClassLoader的原理和应用。分析2个案例,说明ClassLoader的使用。
第七课
性能监控工具
线程死锁分析
OOM分析
介绍常用的JVM诊断和分析工具,并以死锁和OOM为例,展示这些工具的使用。
第八课
分析Java堆
MAT的使用案例
Jvisualvm介绍使用
介绍了Java堆的分析方法,以一个实例为基础,展示对堆的分析过程。
第九课
锁
baise锁
轻量级锁
自旋锁
介绍JVM中对多线程锁的实现。
第十课
class文件结构
ASM库介绍
介绍JVM规范中的最重要的内容——Class文件结构,同时介绍ASM库的使用以及对class文件的修改。
第十一课
字节码执行
案例以及javap
JIT及相关参数
介绍JVM的字节码以及反汇编方法,同时介绍JIT相关的参数和应用。
相关资源