课程简介:
- 本课程涉及JVM性能优化的各个方面
- 重点阐述JVM相关知识、性能调优实践、相关工具的原理和使用
- 通过Java程序设计提升软件性能
课程收益:
- 了解JVM核心原理,充分利用现代硬件和操作系统,衡量Java性能
- 帮助团队中各种角色的技术人员了解Java性能分析和调优方法
- 编写并部署更高效率的Java应用程序
时间1~2天。
性能调优初步
- 系统资源限制
- 调优分析层面
- 调优时机
- Linux 工具
应用优化概述
- 优化原则和时机
- 架构和设计的重要性
- 不要过度优化
JVM 关键技术
- JVM 核心
- JVM 启动参数
- Classloader 类加载器
- 字节码技术
- JVM 内存模型
- Java GC 原理
- G1 垃圾收集器
- ZGC 垃圾收集器和分代
Java 调优
- JDK 命令行工具
- 垃圾收集日志
- GUI 控制台:jconsole, JMC 等
- 使用 JFR
JVM 调优
- 性能相关概览
- 虚拟机参数使用
- 内存监控
- GC 垃圾收集调优
- 选择垃圾收集算法
- JIT 编译优化
- 线程监控
- 磁盘 IO
- CPU 记录和调度
- 类加载调优
- AppCDS
- GraalVM提前编译
线程和并发
- Java 线程原理简述
- Java 并发框架
- 锁性能考虑
- 线程池设计
异步模型
- 同步异步选择和程序员心智
- Java NIO 和 Netty 网络框架
- Spring 的异步响应式编程
- 虚拟线程的应用
中间件和应用层调优
- 堆分析
- 数据库连接池
- 组件池
- Web 容器
- 缓存使用保存状态信息
- 消息部分
- JSON等信息格式处理
JVM 调优高级工具
- JVMTI 接口
- JMH 基准测试工具
- JitWatch 性能分析工具
- Byteman 字节码分析工具
- CRaC 技术运用