【课程背景】
随着互联网时代的到来,数据量急剧增加,并发量也越来越大,企业的应用随着上线的时间越来越长,访问起来变得越来越缓慢?企业如何快速的找到应用缓慢的根源并进行快速的优化?而Java企业应用运行在JVM之上,如何通过JVM调优快速提供应用的访问速度和性能?
本课程围绕实际的项目中遇到的各种性能瓶颈展开,通过该课程的学习,可使学员掌握JVM架构、JVM类加载机制和类加载器,掌握JVM GC垃圾回收机制与算法,以及如何通过可视化监控工具分析JVM运行情况,并通过调佣工具针对JVM进行调优。
【课程收益】
Ø 掌握Java虚拟机内部结构
Ø 掌握Java虚拟机垃圾回收机制和垃圾回收算法
Ø 掌握Java虚拟机的垃圾回收器和原理
Ø 掌握JVM常用调优工具的应用
Ø 掌握JVM内存溢出分析与调优
【课程对象】架构师、研发工程师、运维工程师
【课程时间】1天
【课程大纲】
一、Java虚拟机
1、虚拟机与Java虚拟机
Ø 虚拟机分类
Ø Java虚拟机的运行过程分析
Ø Java虚拟机的原理
Ø Java虚拟机的基本概念
2、Java虚拟机的基本结构
Ø 类加载子系统
Ø Java堆、栈、方法区
Ø 垃圾收集系统
Ø 执行引擎
Ø 堆、栈、方法区概念和联系
3、垃圾回收算法
Ø 垃圾收集算法(复制算法、标记压缩法、分代回收)
Ø 垃圾回收的原理和意义
Ø 如何强制进行垃圾回收
Ø Client和Server虚拟机工作模式
Ø 垃圾收集器:串行、并行、CMS、G1、ZGC
二、JVM垃圾回收算法&垃圾回收器
1、垃圾回收算法
Ø 引用计数法
Ø 标记-清除法
Ø 标记-压缩法
Ø 复制算法
Ø 分代算法
2、垃圾回收器
Ø 串行回收器
Ø 并行回收器
Ø CMS回收器
Ø G1回收器
三、JVM调优实战
1、JVM常用监控工具
Ø jps
Ø jstat查看jvm统计信息
Ø jinfo查看JVM进程信息
Ø jstack实战死锁
Ø jmap dump实战内存镜像文件导出
Ø visual vm实战
2、常用内存溢出分析
Ø 堆内存溢出
Ø 栈内存溢出
Ø 方法区溢出
3、JVM内存镜像分析工具之MAT
Ø 模拟内存溢出OOM
Ø 基于jmap导出内存镜像文件
Ø 使用MAT分析内存镜像文件
4、JVM调优
Ø 出现OOM应该如何处理?
Ø 什么情况下JVM需要调优?
Ø OOM异常与分类
Ø JVM调优的几个方向
Ø JVM之GC日志分析
Ø JVM调优之参数调优
Ø JVM dump文件分析与问题定位
Ø JVM调优后的验证
Ø STOP-THE-WORLD现象分析
5、JVM调优实战
Ø GC调优步骤1:打印GC日志
Ø GC调优步骤2:根据GC日志提取关键性能指标
Ø GC调优步骤3:分析GC原因,针对JVM参数调优