工程师
互联网
其他
工程师
Java
推荐课程
average > 0 ? $model->average . '分' : '10.0分' ?>

Java体系下的性能监控与调优

阿里云MVP 技术顾问 CTO

阿里云MVP,华为HCDE成员|技术作者
业界资深技术专家,从事开发和架构工作近10年,擅长Java/Python体系下各类技术栈、拥有微服务、分布式高并发、AI&机器学习、大数据亚台系统架构经验,曾相任多家创业公司CTO、合伙人,负责研发线所有产品技术架构、团队管理等工作,开发了多款金融、风控大数据、SaaS、区块链等产品。
曾出版技术书籍《Akka实战: 快速构建高可用分布式应用》,受到多位业界知名技术专家联名推荐作序,该书是国内首本原创相关书籍。曾出版译著《软件开发实践项目驱动式的Java开发指南》
曾受邀为HP、通用、中邮、亚安、建行、华泰等中外企业进行技术咨询、培训等。

阿里云MVP,华为HCDE成员|技术作者 业界资深技术专家,从事开发和架构工作近10年,擅长Java/Python体系下各类技术栈、拥有微服务、分布式高并发、AI&机器学习、大数据亚台系统架构经验,曾相任多家创业公司CTO、合伙人,负责研发线所有产品技术架构、团队管理等工作,开发了多款金融、风控大数据、SaaS、区块链等产品。 曾出版技术书籍《Akka实战: 快速构建高可用分布式应用》,受到多位业界知名技术专家联名推荐作序,该书是国内首本原创相关书籍。曾出版译著《软件开发实践项目驱动式的Java开发指南》 曾受邀为HP、通用、中邮、亚安、建行、华泰等中外企业进行技术咨询、培训等。

课程费用

5800.00 /人

课程时长

2

成为教练

课程简介

在互联网+的今天,人们在PC、手机、Pad 上安装了各式各样的软件服务或APP,享受着互联网技术带来的高效和便捷。随着这些产品的高速发展,大家对高性能、稳定性、安全性、扩展性等方面有了更高的要求,而诞生于20多年前的Java平台,一直紧跟时代脉搏,兼收并蓄,持续优化,在编程领域交出最满意的答卷,最终成为现代互联网服务端开发的王者。当然,一种语言再强大,也不能在任何时候都能达到我们理想的状态。在实际工作中,我们会遇到非常多的性能问题,有些问题是需要在开发设计前通过规范避免的,有些问题是需要根据线上生产环境“边查边看边调整”的。很多工程师在遇到这些问题时,会根据一些浅显的表现来做很“粗暴”的处理,比如:OOM了就升配内存,CPU飙高就升核,超时异常过多就延长超时时间。。。诚然,在紧急情况下,有些处理能马上解决问题,但毕竟不是长久之计,甚至有时候会弄巧成拙。为了让大家对性能调优有更深的认识,本次课程我们会从JVM基础开始讲起,比如JVM内存模型、GC机制、堆内存分析等,然后延展开来,通过线上常见问题来实战化学习JVM的性能监控及调优策略。

目标收益

1、 对Java体系下整体性能与调优有全面的认知
2、 熟练掌握JVM内存模型以及GC调优全过程(命令行、JVisualVM、Arthas等工具 )
3、 熟练掌握服务器端调优策略与最佳实践(内存/IO/CPU等)
4、 熟练掌握代码级性能提升关注点,以及性能基准测试方法

培训对象

课程大纲

引子 介绍JVM内存模型及GC问题、性能优化、服务端的性能配置等
第一单元 JVM基础 1.JVM组成及运行机制
2.Java内存模型
2.1内存结构
2.2内存与线程

3.JVM参数概要
3.1启动参数格式
3.2启动参数设置
3.3常见启动参数

4.GC基础分析
4.1GC信息查看
4.2GC问题排查
(案例1:快速查看线上的GC问题)
4.3常见GC算法浅析
第二单元 JVM内存及调优 5.堆内存分析
5.1堆内存结构
5.2堆内存信息分析
5.3OOM问题及内存dump文件
5.4GC日志文件深度分析

案例2:一次线上GC导致的系统卡顿问题排查过程/OOM dump信息分析


6.Java线程状态分析
6.1RUNNABLE状态及分析
6.2BLOCKED状态及分析
6.3WAITING(wait/notify、join)及分析
6.4使用jstack进行死锁检测

7.内置可视化诊断工具JVisualVM
7.1功能概览与基础配置
7.2线程监控与分析
7.3内存监控与分析
7.4CPU采样分析

8.线上问题诊断工具Arthas 
8.1Arthas功能概览
8.2使用Arthas查看系统全景运行时状态
8.3Arthas常见命令工具
8.4线程问题诊断
(案例3:快速找到最忙执行线程/代码)
8.5耗时问题诊断
(案例4:快速排查线上调用链耗时问题)
如何线上诊断代码级故障
第三单元 服务器性能调优实战 9.CPU与性能诊断
9.1平均负载与负载分析
9.2负载与CPU使用率
9.3CPU性能指标与工具介绍
案例5:使用vmstat、pidstat等工具进行系统高负载分析及上下文切换分析

10.内存与性能诊断
10.1内存基础知识
10.22. 内存常见指标/virt/res/buff/cache/Swap
10.3内存性能指标与问题诊断一般流程
案例6:Java Native代码导致的内存泄漏问题排查
第四单元 编写高性能代码 11.高性能代码技巧
11.1线程池选型与参数调优
11.2ThreadLocal的资源释放

12.基于JMH的性能测试
12.1JMH基本介绍
12.2JMH基本概念之Mode、Iteration、Warmup等
12.3使用JMH进行代码级性能基准测试
引子
介绍JVM内存模型及GC问题、性能优化、服务端的性能配置等
第一单元 JVM基础
1.JVM组成及运行机制
2.Java内存模型
2.1内存结构
2.2内存与线程

3.JVM参数概要
3.1启动参数格式
3.2启动参数设置
3.3常见启动参数

4.GC基础分析
4.1GC信息查看
4.2GC问题排查
(案例1:快速查看线上的GC问题)
4.3常见GC算法浅析
第二单元 JVM内存及调优
5.堆内存分析
5.1堆内存结构
5.2堆内存信息分析
5.3OOM问题及内存dump文件
5.4GC日志文件深度分析

案例2:一次线上GC导致的系统卡顿问题排查过程/OOM dump信息分析


6.Java线程状态分析
6.1RUNNABLE状态及分析
6.2BLOCKED状态及分析
6.3WAITING(wait/notify、join)及分析
6.4使用jstack进行死锁检测

7.内置可视化诊断工具JVisualVM
7.1功能概览与基础配置
7.2线程监控与分析
7.3内存监控与分析
7.4CPU采样分析

8.线上问题诊断工具Arthas 
8.1Arthas功能概览
8.2使用Arthas查看系统全景运行时状态
8.3Arthas常见命令工具
8.4线程问题诊断
(案例3:快速找到最忙执行线程/代码)
8.5耗时问题诊断
(案例4:快速排查线上调用链耗时问题)
如何线上诊断代码级故障
第三单元 服务器性能调优实战
9.CPU与性能诊断
9.1平均负载与负载分析
9.2负载与CPU使用率
9.3CPU性能指标与工具介绍
案例5:使用vmstat、pidstat等工具进行系统高负载分析及上下文切换分析

10.内存与性能诊断
10.1内存基础知识
10.22. 内存常见指标/virt/res/buff/cache/Swap
10.3内存性能指标与问题诊断一般流程
案例6:Java Native代码导致的内存泄漏问题排查
第四单元 编写高性能代码
11.高性能代码技巧
11.1线程池选型与参数调优
11.2ThreadLocal的资源释放

12.基于JMH的性能测试
12.1JMH基本介绍
12.2JMH基本概念之Mode、Iteration、Warmup等
12.3使用JMH进行代码级性能基准测试

活动详情

提交需求