标识消耗大量资源的方法

消耗大量资源的方法会影响程序的总体执行性能。通过使用“执行流”视图和“方法调用”视图,您就可以方便地标识这些有可能需要优化的方法。

先决条件:

如果下列其中一种情况成立,则可以考虑对方法进行优化:

找到频繁调用的方法

要找到频繁调用的方法:

  1. 在“概要分析监视器”视图中,选择监视器或代理。
  2. 单击鼠标右键,然后选择打开方式 > 执行流。这就打开了“执行流”视图。
  3. 单击放大按钮 放大按钮图标 以放大方法调用序列。
  4. 在图形视图中右键单击方法名,然后选择检测所有重复内容。在存在重复模式的位置,可以看到有 X 出现。  
  5. 放大这些区域以查看重复的模式以及方法的重复次数。 

找到执行时间很长的方法

要找到执行时间很长的方法:

  1. 在“执行流”视图中,检查每个方法的条带的长度。条带越长,执行时间也就越长。
  2. 要更详细地查看方法,通过选择该方法,单击鼠标右键,然后选择显示方法调用来打开“方法调用”视图。这就打开了“方法调用”视图。
  3. 在“方法统计信息”视图中,要查看方法调用者的执行时间,单击鼠标右键,然后选择显示方法调用。此视图将同一方法的表示法显示为带有标注的线。
  4. 从本地工具栏中,单击显示调用者 调用者按钮图标 以查看视图中所选方法的调用者。每当单击此按钮时,就会显示调用序列中较前面的一个方法。
  5. 选择一个方法。所选区域的垂直长度指示了该方法的额定时间。通过查看视图右边的垂直时间标尺,您可以确定此方法的执行时间。状态行给出了该方法的累积时间。

获取宽阔的程序执行视图

要获取宽阔的执行时间视图:

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

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

相关任务
对应用程序进行概要分析
启动或连接 Java 进程
研究垃圾回收