课程标题:
Java生产环境下性能监控与调优详解
https://coding.imooc.com/class/241.html
课程简介:
本课程将为你讲解如何在生产环境下对Java应用做性能监控与调优;通过本课程,你将掌握多种性能监控工具应用,学会定位并解决诸如内存溢出、cpu负载飙高等问题;学会线上代码调试,Tomcat、Nginx,GC调优等手段; 读懂JVM字节码指令,分析源码背后原理,提升应对线上突发状况的能力
难度 中级 · 时长 7小时15分钟 · 学习人数 245 · 综合评分 10.00分**
第1章 课程介绍(Java秒杀课程老师倾力打造)
本章为大家介绍生产环境可能存在的问题和常用的性能监控工具,以及课程能学到什么,课程内容如何安排等,让大家对课程有个全貌的认识,从而更好的学习这门课程。
1-1 为什么学习这门课程?
第2章 基于JDK命令行工具的监控
本章带大家学习JDK的命令行监控工具的使用,包括jps、jinfo、jstat、jmap、jstack, 并结合MAT实战如何定位内存溢出,实战如何定位死循环和死锁。
2-1 JVM的参数类型
2-2 查看JVM运行时参数
2-3 jstat查看JVM统计信息
2-4 演示内存溢出
2-5 导出内存映像文件
2-6 MAT分析内存溢出
2-7 jstack与线程的状态
2-8 jstack实战死循环与死锁
第3章 基于JVisualVM的可视化监控
本章带大家学习可视化的监控工具JVisualVM的使用,学习如何用它来监控本地和远程的JAVA进程,包括监控内存、线程、方法执行时间等等。
3-1 监控本地java进程
3-2 监控远程的java进程
第4章 基于Btrace的监控调试
本章带大家学习如何安装btrace、如何编写btrace脚本来对生产环境下的代码进行监控调试,比如获取生产环境下某个方法的参数、返回值、异常、执行的行号等等。
4-1 btrace入门
4-2 拦截构造函数、同名函数
4-3 拦截返回值、异常、行号
4-4 拦截复杂参数、坏境变量、正则匹配拦截
4-5 注意事项
第5章 Tomcat性能监控与调优
本章带大家学习如何在本地来远程调试tomcat和对tomcat服务器的内存、线程等做监控,会介绍两款监控工具---tomcat自带的manager和开源的psi-probe,然后会讲解常用的tomcat的调优的方法。
5-1 tomcat远程debug
5-2 tomcat-manager监控
5-3 psi-probe监控
5-4 tomcat优化
第6章 Nginx性能监控与调优
本章带大家学习如何来安装nginx,并监控nginx的连接信息和请求信息,会介绍两款命令行工具ngx_http_stub_status和ngxtop,还有一款可视化工具nginx-rrd,然后会讲解常用的nginx的调优的方法。
6-1 nginx安装
6-2 ngx_http_stub_status监控连接信息
6-3 ngxtop监控请求信息
6-4 nginx-rrd图形化监控
6-5 nginx优化
第7章 JVM层GC调优
本章带大家学习JVM的内存结构,常见的垃圾回收算法和垃圾收集器,不同垃圾收集器的日志结构,然后介绍两款可视化的日志分析工具,通过分析日志得到GC的性能指标和出现GC的原因,最后带大家实战GC垃圾回收调优。
7-1 JVM的内存结构
7-2 常见的垃圾回收算法
7-3 垃圾收集器-1
7-4 垃圾收集器-2
7-5 GC日志格式详解
7-6 可视化工具分析GC日志
7-7 ParallelGC调优
7-8 G1调优
7-9 本章小结
第8章 JVM字节码与Java代码层调优
本章带大家学习JVM的字节码指令,从字节码层面讲解一些常见问题的底层原理(面试能回答上的话, 绝对加分),比如:i++和++i哪一种效率高?循环体中做字符串+拼接为什么效率低?然后会重点对String做讲解,包括String常量池的变化、String字面常量、String.intern等,最后分享老师在开发中积累的常用的JAVA代码优化的20多...
8-1 jvm字节码指令-1
8-2 jvm字节码指令-2
8-3 i++与++i
8-4 字符串+拼接
8-5 Try-Finally字节码
8-6 String Constant Variable
8-7 常用代码优化方法-1
8-8 常用代码优化方法-2
第9章 课程总结
本章带大家总结回顾本课程的重难点知识点,同时也希望大家能手动梳理出本门课程的知识架构脑图,方面大家以后建立知识体系以及深入的学习和解决更难的问题。
9-1 课程总结