分析 Java 在 IntelliJ IDEA 中的 5 个优秀功能

当涉及到应用程序有效运行时,总是有改进的空间。快速、无延迟、流畅的操作——Java 开发人员还能梦想什么?

但是,当您的应用程序的目标是达到这种完美程度时,您将需要一个全面的工具集来监控性能并识别问题以进行进一步分析。这就是分析工具派上用场的地方。IntelliJ IDEA 与几个最流行的 Java 分析器紧密集成,您无需离开 IDE 即可在项目上运行这些分析器。

点击下载IntelliJ IDEA最新试用版

第一件事

我们建议您通过总体概述熟悉受支持的 Java 分析工具。该专用页面描述:

  • 如何开始分析
  • 用于分析分析结果的视图
  • 如何与您的团队分享这些结果

此外,它还包括一个介绍性视频,可帮助您熟悉这些工具、演示配置和运行所有可用分析器的各种方法,以及如何解释结果。

5 个支持的功能

我们已经发布了一些有用的材料和操作方法,可以帮助您开始使用集成分析器。在这篇博文中,我们收集了一些最突出的功能,这些功能可以让您有效地使用我们的集成分析器。

轻松运行 - 快速获得结果

恼人的问题,例如内存消耗激增,需要尽快进行故障排除。幸运的是,在 IntelliJ IDEA 中,您可以通过单击运行分析器来开始检测此类问题。您可以选择两种同样简单的方法之一:

可以通过单击装订线中的运行按钮并选择Profile with ...来运行支持的分析器:

IntelliJ IDEA分析:Java的 5 个最佳功能

如果您在Profiler工具窗口中工作,您可以选择所需的进程,单击它,然后选择要附加的 Profiler:

IntelliJ IDEA分析:Java的 5 个最佳功能

启动分析过程后,您可以随时停止它。IDE 将立即显示分析结果并立即开始分析问题。

IntelliJ IDEA分析:Java的 5 个最佳功能

修改现有的 .jfr 和 .hprof 文件也非常简单。要快速打开这些类型的任何文件,请将其拖放到编辑器中,使用File |打开它。打开,在“项目”视图中双击它,或在Profiler工具窗口的“主页”选项卡中列出的“最近的快照”中选择它。

结果可视化

我们提供了一系列工具,可让您彻底分析将分析器附加到正在运行的进程后获得的分析结果,包括火焰图、调用树、方法列表、时间线和事件。

火焰图可能是解释 Java 程序 CPU 使用率的最有用和最方便的方法。每个矩形代表一个堆栈帧。黄色代表 Java 代码,而蓝色代表本地方法调用。堆栈帧花费的时间越多,火焰图上的专用矩形就越宽。这使您可以轻松评估 CPU 使用率和内存资源。

火焰图带有一些简化使用它的选项。例如,将鼠标悬停在每个堆栈帧上后,您会看到一个工具提示,其中显示了方法名称、父采样时间的百分比和总采样时间的百分比。

IntelliJ IDEA分析:Java的 5 个最佳功能

还可以借助加号和减号图标缩放图形并拖动它以移动到所需的堆栈框架。

IntelliJ IDEA分析:Java的 5 个最佳功能

其他方便的选项是快速导航到火焰图上的特定方法。只需在搜索栏中键入其名称,IDE 就会突出显示相关结果。您可以在向上和向下箭头的帮助下轻松浏览所有这些。还有一个过滤器,允许您搜索整个火焰图或仅在特定子树中搜索。

IntelliJ IDEA分析:Java的 5 个最佳功能

当您找到所需的方法时,您可以在编辑器中查看它。只需右键单击它并选择Jump to Source。

.jfr快照的比较

从我们最近的 IntelliJ IDEA 2021.3 的 EAP 开始,您可以直接从 IDE比较.jfr快照。你为什么需要这个?检查应用的更改是提高还是降低了应用程序的性能会很有帮助。这种比较非常方便,因为它提供了快速的结果,并且如果您的代码改进理论被证明是错误的,您可以做出快速而合理的决定来回滚更改。

要比较 .jfr 快照,请打开两个快照并导航到应用更改后拍摄的快照。在顶部窗格的右上角,单击差异图标并选择您将用作基线的快照。然后,您将以火焰图、调用树或方法列表的形式看到结果。

IntelliJ IDEA分析:Java的 5 个最佳功能

这是一项实验性功能,但我们认为它可以在整个分析工作流程中派上用场。如果您对让它更好地满足您的需求有任何想法,请分享您的反馈。

CPU 和分配分析器的综合能力

IntelliJ IDEA 支持 Async Profiler 2.0。当您决定使用 Async Profiler 分析您的 Java 代码时,这意味着您同时将 CPU 和分配分析器附加到正在运行的进程。因此,您只需单击一个按钮即可结合两者的力量!

IntelliJ IDEA分析:Java的 5 个最佳功能

使用 Async Profiler 运行程序后,Flame Graph、Call Tree和Method List选项卡中的结果可用于 CPU 示例和内存分配。要在两者之间进行选择,请转到新的显示下拉列表并选择必要的选项。

IntelliJ IDEA分析:Java的 5 个最佳功能

该时间表显示他们两个。您可以使用右上角的控制器过滤要显示的内容。

配置文件配置

在 IntelliJ IDEA 中,可以将分析器附加到最常见的运行配置,包括本地 Maven 和 Tomcat 运行/调试配置。要分析它们,请选择必要的配置,单击顶部工具集窗格中的时钟图标,然后选择所需的分析选项:Async Profiler或Java Flight Recorder。

IntelliJ IDEA分析:Java的 5 个最佳功能

这些是 IntelliJ IDEA 为分析 Java 应用程序提供的最有用和最强大的功能。我们建议您试用它们并在评论或问题跟踪器中分享您的反馈。它将帮助我们更好地支持分析工具并使您的程序的内存消耗更高效。

猜你喜欢

转载自blog.csdn.net/Augenstern__zyx/article/details/120972089