代码对比
✕ Java 8
// Install VisualVM / YourKit / JProfiler // Attach to running process // Configure sampling // Export and analyze // External tool required
✓ Java 9+
// Start with profiling enabled
$ java -XX:StartFlightRecording=
filename=rec.jfr MyApp
// Or attach to running app:
$ jcmd <pid> JFR.start
发现此代码有问题? 告诉我们。
为什么现代方式更好
内置
无需安装或许可外部分析器。
低开销
生产级分析,开销 < 1%。
丰富数据
CPU、内存、GC、线程、I/O 和自定义事件。
旧方式
外部分析器
现代方式
Java Flight Recorder
自 JDK
9
难度
中级
JDK 支持
用 JFR 进行性能分析
可用
自 JDK 9/11 起广泛可用(在 11 中开源)
工作原理
Java Flight Recorder(JFR)是 JVM 内置的低开销分析工具。它记录 JVM、OS 和应用程序事件,可用于性能分析、诊断和监控。
相关文档