教育 特性 一般 IntelliJ IDEA

IntelliJ IDEA中分析Java代码的5个最佳特性

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

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

先做重要的事

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

  • 如何开始剖析
  • 使用哪些视图来分析分析结果
  • 如何与你的团队分享这些结果

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

最受支持的5个特性

我们已经发表了一些有用的文章材料入门的这可以帮助您开始使用集成的剖析器。在这篇博文中,我们收集了一些最突出的特性,可以让你有效地使用我们集成的分析器。

容易跑-快的结果

恼人的问题,如内存消耗高峰,需要尽快进行故障排除。幸运的是,在IntelliJ IDEA中,只需点击一下鼠标,运行分析器就可以开始检测此类问题。你可以从两种同样简单的方法中选择一种:

  • 可以通过单击运行按钮在排水沟和选择概要文件与…分析器开始
  • 如果你在分析器工具窗口,您可以选择所需的过程,单击它,并选择您想要附加的分析器:分析器开始2

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

    剖析resulta

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

    结果可视化

    我们提供了一系列工具,允许您在将分析器附加到正在运行的流程之后全面分析分析结果,包括火焰图、调用树、方法列表、时间轴和事件。

    火焰图可能是解释Java程序CPU使用情况的最有信息、最方便的方法。每个矩形代表一个堆栈框架。黄色表示Java代码,蓝色表示本机方法调用。堆叠框架花费的时间越长,火焰图上的专用矩形就越宽。这允许您轻松地评估CPU使用和内存资源。

    火焰图提供了一些简化工作的选项。例如,当您将鼠标悬停在每个堆栈帧上时,您将看到一个工具提示,其中显示了方法名称、父示例时间的百分比以及总示例时间的百分比。

    分析器工具提示

    在控件的帮助下也可以缩放图形+-图标,并拖动它以移动到所需的堆栈框架。

    分析器放大

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

    当您找到必要的方法时,您可以在编辑器中查看它。只需右键单击并选择跳转到源

    .jfr快照的比较

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

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

    分析器比较

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

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

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

    分析器_异步

    使用Async Profiler运行程序后,结果在火焰图像调用树,方法列表选项卡可用于CPU示例和内存分配。要在两者之间做出选择,就去新的显示下拉列表,并选择必要的选项。

    分析器异步

    时间轴显示它们两个。您可以通过使用右上角的控制器来筛选要显示的内容。

    配置文件配置

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

    Profiler_config

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

    发展中快乐!

    发现更多的