Java 性能分析与优化导读
更新线路
当前系列文章持续更新中,共勉。
回顾最近半年的工作,发现遇到了不少 Java 运行时问题,这些问题可能是内存溢出、CPU 飙升、延迟增加、队列堵塞等等。之前遇到,现在遇到,未来一定还会遇到,索性把 Java 相关性能分析工具和手段进行一个系统梳理,给大家一个参考,也给未来的自己一个参考。
下面是整理的常见的 Java 性能分析工具,知识的梳理需要结构化,做成了一个思维导图,计划一一介绍它们的使用方式和使用场景。
- Java 性能分析优化思维导图
性能分析优化是一个优化资源配置的过程,计算机系统中的 CPU、内存、磁盘以及网络资源是有限的,性能分析优化也就是通过测量系统的各个环节的性能,找到性能的瓶颈,然后优化之,所以如何测量找到问题,是关键所在,这些工具都可以帮助我们更好的定位。
# Java 中的管理监控功能
# 概述
这篇文章介绍 Java Standard Edition(Java SE)平台提供的监控和管理技术 - JMX 技术。
相关文章:Java 中的管理监控功能 (opens new window)
# JMX
此篇文章介绍 Java JMX 技术的相关概念和具体的使用方式。
相关文章:使用 JMX 监控和管理 Java 程序 (opens new window)
# 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 线上问题定位处理的终极利器 (opens new window)
# Tprofiler
# Profiler4J
# Java 性能监控和管理工具
# JMC(Java Mission Control)
# JFR(Java Flight Recorder)
# jconsole
# jVisualVM
# Java 性能分析命令工具
# jmap(内存分析)
# jhat
# jstack(堆栈分析)
# jstat(GC
# jinfo
# jcmd
# Java 性能分析商业工具
# Jprofiler
# YourKit Java Profiler
# JMH 性能基准测试
JMH 是一个 Java 工具,用于构建、运行和分析 Java 程序和其他基于 JVM 的编写的程序的基准性能。
提示:评论前请刷新页面,否则评论的可能不是当前文章。