Java 性能分析与优化导读

当前系列文章持续更新中,共勉。

回顾最近半年的工作,发现遇到了不少 Java 运行时问题,这些问题可能是内存溢出、CPU 飙升、延迟增加、队列堵塞等等。之前遇到,现在遇到,未来一定还会遇到,索性把 Java 相关性能分析工具和手段进行一个系统梳理,给大家一个参考,也给未来的自己一个参考。

下面是整理的常见的 Java 性能分析工具,知识的梳理需要结构化,做成了一个思维导图,计划一一介绍它们的使用方式和使用场景。

性能分析优化是一个优化资源配置的过程,计算机系统中的 CPU、内存、磁盘以及网络资源是有限的,性能分析优化也就是通过测量系统的各个环节的性能,找到性能的瓶颈,然后优化之,所以如何测量找到问题,是关键所在,这些工具都可以帮助我们更好的定位。

Java 性能监控开源工具

Arthas - 性能分析利器

ArthasAlibaba 在 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)

JMC 使用教程

JFR(Java Flight Recorder)

Jconsole

JVisualVM

Java 性能分析命令工具

jmap(内存分析)

jhat

jstack(堆栈分析)

jstat(GC)

jinfo

jcmd

JMH 性能基准测试

JMH 是一个 Java 工具,用于构建、运行和分析 Java 程序和其他基于 JVM 的编写的程序的基准性能。

介绍文章:JMH - Java 代码性能基准测试

相关文章:Java 中的5个代码性能提升技巧,最高提升近10倍