Java性能调优

课程简介:

  • 本课程涉及JVM性能优化的各个方面
  • 重点阐述JVM相关知识、性能调优实践、相关工具的原理和使用
  • 通过Java程序设计提升软件性能

课程收益:

  • 了解JVM核心原理,充分利用现代硬件和操作系统,衡量Java性能
  • 帮助团队中各种角色的技术人员了解Java性能分析和调优方法
  • 编写并部署更高效率的Java应用程序

时间1~2天。

性能调优初步

  1. 系统资源限制
  2. 调优分析层面
  3. 调优时机
  4. Linux 工具

应用优化概述

  1. 优化原则和时机
  2. 架构和设计的重要性
  3. 不要过度优化

JVM 关键技术

  1. JVM 核心
  2. JVM 启动参数
  3. Classloader 类加载器
  4. 字节码技术
  5. JVM 内存模型
  6. Java GC 原理
  7. G1 垃圾收集器
  8. ZGC 垃圾收集器和分代

Java 调优

  1. JDK 命令行工具
  2. 垃圾收集日志
  3. GUI 控制台:jconsole, JMC 等
  4. 使用 JFR

JVM 调优

  • 性能相关概览
  • 虚拟机参数使用
  • 内存监控
  • GC 垃圾收集调优
  • 选择垃圾收集算法
  • JIT 编译优化
  • 线程监控
  • 磁盘 IO
  • CPU 记录和调度
  • 类加载调优
  • AppCDS
  • GraalVM提前编译

线程和并发

  1. Java 线程原理简述
  2. Java 并发框架
  3. 锁性能考虑
  4. 线程池设计

异步模型

  1. 同步异步选择和程序员心智
  2. Java NIO 和 Netty 网络框架
  3. Spring 的异步响应式编程
  4. 虚拟线程的应用

中间件和应用层调优

  1. 堆分析
  2. 数据库连接池
  3. 组件池
  4. Web 容器
  5. 缓存使用保存状态信息
  6. 消息部分
  7. JSON等信息格式处理

JVM 调优高级工具

  1. JVMTI 接口
  2. JMH 基准测试工具
  3. JitWatch 性能分析工具
  4. Byteman 字节码分析工具
  5. CRaC 技术运用