课程简介
在互联网+的今天,人们在PC、手机、Pad 上安装了各式各样的软件服务或APP,享受着互联网技术带来的高效和便捷。随着这些产品的高速发展,大家对高性能、稳定性、安全性、扩展性等方面有了更高的要求,而诞生于20多年前的Java平台,一直紧跟时代脉搏,兼收并蓄,持续优化,在编程领域交出最满意的答卷,最终成为现代互联网服务端开发的王者。当然,一种语言再强大,也不能在任何时候都能达到我们理想的状态。在实际工作中,我们会遇到非常多的性能问题,有些问题是需要在开发设计前通过规范避免的,有些问题是需要根据线上生产环境“边查边看边调整”的。很多工程师在遇到这些问题时,会根据一些浅显的表现来做很“粗暴”的处理,比如:OOM了就升配内存,CPU飙高就升核,超时异常过多就延长超时时间。。。诚然,在紧急情况下,有些处理能马上解决问题,但毕竟不是长久之计,甚至有时候会弄巧成拙。
目标收益
培训对象
课程大纲
引子 | 介绍JVM内存模型及GC问题、性能优化 |
第一单元 JVM基础 |
1. JVM组成及运行机制 2. Java内存模型 2.1 内存结构 2.2 内存与线程 3. JVM参数概要 3.1 启动参数格式 3.2 启动参数设置 3.3 常见启动参数 4. GC基础分析 4.1 GC信息查看 4.2 GC问题排查 (案例:快速查看线上的GC问题) 4.3 常见GC算法浅析 |
第二单元 JVM内存及调优 |
5. 堆内存分析 5.1 堆内存结构 5.2 堆内存信息分析 5.3 OOM问题及内存dump文件 5.4 GC日志文件深度分析 (案例:一次线上GC导致的系统卡顿问题排查过程/OOM dump信息分析) 6. 实战启动参数设置 6.1 GC日志配置 6.2 内存配置 7. 线上问题诊断工具Arthas 7.1 线程问题诊断 (案例:快速找到最忙执行线程/代码) 7.2 耗时问题诊断 (案例:快速排查线上调用链耗时问题) 7.3 如何线上诊断代码级故障 |
引子 介绍JVM内存模型及GC问题、性能优化 |
第一单元 JVM基础 1. JVM组成及运行机制 2. Java内存模型 2.1 内存结构 2.2 内存与线程 3. JVM参数概要 3.1 启动参数格式 3.2 启动参数设置 3.3 常见启动参数 4. GC基础分析 4.1 GC信息查看 4.2 GC问题排查 (案例:快速查看线上的GC问题) 4.3 常见GC算法浅析 |
第二单元 JVM内存及调优 5. 堆内存分析 5.1 堆内存结构 5.2 堆内存信息分析 5.3 OOM问题及内存dump文件 5.4 GC日志文件深度分析 (案例:一次线上GC导致的系统卡顿问题排查过程/OOM dump信息分析) 6. 实战启动参数设置 6.1 GC日志配置 6.2 内存配置 7. 线上问题诊断工具Arthas 7.1 线程问题诊断 (案例:快速找到最忙执行线程/代码) 7.2 耗时问题诊断 (案例:快速排查线上调用链耗时问题) 7.3 如何线上诊断代码级故障 |