标识消耗大量资源的方法

如果方法满足下列条件之一,则可以考虑对其进行优化:

要找到经常调用的方法,执行下列操作:

  1. 确保已启用执行流信息的收集,而当启动或连接至要进行概要分析的应用程序时,您就会启用收集操作。选择概要分析选项我的应用程序运行速度太慢,然后从“详细信息”选项中,选择显示执行流图形详细信息。 
  2. 在“概要分析监视器”视图中,选择监视器或代理。
  3. 右键单击,然后选择打开方式 > 执行流。“执行流”视图打开。
  4. 单击放大按钮 放大按钮图标 以放大方法调用序列。
  5. 右键单击,然后选择检测所有重复项。在存在重复模式的位置,可以看到有多个 X 出现。
  6. 放大这些区域以查看重复的模式以及方法的重复次数。 

要找到执行时间很长的方法,执行下列操作:

  1. 启动或连接特定资源的进程,然后打开“执行流”视图。 
    注意:
    可以从代理程序、进程、主机或监视器来打开视图。但是,注意这些资源中的信息是完全不同的。例如,代理程序的“执行流”视图显示与代理程序相连接的特定 JVM(Java 虚拟机)的执行情况。相比之下,从监视器选择该视图将显示在所选监视器下具有概要分析代理程序的所有 JVM 的执行情况。
  2. 注意每个方法的色条的长度。色条越长,执行时间也就越长。
  3. 要更详细地查看方法,打开方法统计信息视图,选择该方法,右键单击,然后选择显示方法调用
  4. 要查看方法调用者的执行时间,右键单击然后选择显示方法调用。此视图将同一方法的表示法显示为带有标注的线。
  5. 从本地工具栏中,单击显示调用者 调用者按钮图标 以查看视图中所选方法的调用者。每当单击此按钮时,就会显示调用序列中较前面的一个方法。
  6. 选择一个方法。所选区域的垂直长度指示了该方法的基本时间。通过查看视图右边的时间刻度,您可以确定此方法的执行时间。状态行给出了该方法的累积时间。

要进一步查看执行时间,执行下列操作:

  1. 打开“执行流”视图:从“概要分析监视器”视图中监视器的弹出菜单中,选择打开方式 > 执行流
  2. 与“方法调用”视图一样,此视图的右边有一个垂直时间刻度。 
  3. 使用放大 放大按钮图标 按钮来放大视图的特定部分以突出显示想要检查的方法。
  4. 单击方法名(或单击其下方的空白区域)来选择它。突出显示区域的垂直长度指示了该方法的基本时间。基本时间的精确值显示在状态行中。
  5. 使用缩小按钮 缩小按钮图标 以便查看整个程序的更大的部分,同时仍然能够查看方法的突出显示区域(即,仍然可以看到黄色矩形区域)。即使在看不到整个执行表示法时,也仍可以确定此方法相对于整个程序所消耗的时间量。

相关概念
概要分析工具概述
执行流视图和表
统计视图

相关任务
对应用程序进行概要分析
启动或连接 Java 进程
研究垃圾收集
分析性能和内存使用情况 - 概述