Java 性能分析与优化导读
当前系列文章持续更新中,共勉。
- Arthas - Java 线上问题定位处理的终极利器
- Java 中的监控与管理原理概述
- 使用 JMX 监控和管理 Java 程序
- JMC 使用教程
- JMH - Java 代码性能基准测试
- Async-Profiler - Java 火焰图性能分析工具
- Java 中的5个代码性能提升技巧,最高提升近10倍
回顾最近半年的工作,发现遇到了不少 Java 运行时问题,这些问题可能是内存溢出、CPU 飙升、延迟增加、队列堵塞等等。之前遇到,现在遇到,未来一定还会遇到,索性把 Java 相关性能分析工具和手段进行一个系统梳理,给大家一个参考,也给未来的自己一个参考。
下面是整理的常见的 Java 性能分析工具,知识的梳理需要结构化,做成了一个思维导图,计划一一介绍它们的使用方式和使用场景。
性能分析优化是一个优化资源配置的过程,计算机系统中的 CPU、内存、磁盘以及网络资源是有限的,性能分析优化也就是通过测量系统的各个环节的性能,找到性能的瓶颈,然后优化之,所以如何测量找到问题,是关键所在,这些工具都可以帮助我们更好的定位。
Java 性能监控开源工具
Arthas - 性能分析利器
Arthas 是 Alibaba
在 2018 年 9 月开源的 Java 诊断工具。支持 JDK6+
, 采用命令行交互模式,提供 Tab
自动补全,可以方便的定位和诊断线上程序运行问题。截至 2021 年 11 月 24 日,已经收获 Star
27000+。
在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用 Arthas 轻松定位,迅速解决,及时止损,准时下班。
介绍文章:Arthas - Java 线上问题定位处理的终极利器
Java 中的管理监控功能
Java 中的管理监控概述
这篇文章介绍 Java Standard Edition(Java SE)平台提供的监控和管理技术 - JMX 技术。
相关文章:Java 中的管理监控功能
JMX
此篇文章介绍 Java JMX 技术的相关概念和具体的使用方式。
相关文章:使用 JMX 监控和管理 Java 程序
Java 性能监控和管理工具
JMC(Java Mission Control)
JFR(Java Flight Recorder)
Jconsole
JVisualVM
Java 性能分析命令工具
jmap(内存分析)
jhat
jstack(堆栈分析)
jstat(GC)
jinfo
jcmd
JMH 性能基准测试
JMH 是一个 Java 工具,用于构建、运行和分析 Java 程序和其他基于 JVM 的编写的程序的基准性能。
介绍文章:JMH - Java 代码性能基准测试