标识消耗大量资源的方法
先决条件:
如果下列其中一种情况成立,则可以考虑对方法进行优化:
- 调用方法的次数可以更少。可以通过某些方式对经常使用的方法进行较少的调用或作出小小的改进来增强性能。
- 方法的执行时间很长。或者,可以通过标识占用大部分执行时间的类然后优化将很长时间花费在堆栈上的方法来增强性能。这些方法不一定正在执行,但可能在调用其它方法以执行诸如排序或授权之类的任务。
要找到频繁调用的方法,遵循下列步骤:
- 在“概要分析监视器”视图中,选择监视器或代理。
- 右键单击,然后选择打开方式 > 执行流。“执行流”视图打开。
- 单击放大按钮
以放大方法调用序列。
- 右键单击,然后选择检测所有重复项。在存在重复模式的位置,可以看到有 X 出现。
- 放大这些区域以查看重复的模式以及方法的重复次数。
要找到执行时间很长的方法,遵循下列步骤:
- 在“执行流”视图中,检查每个方法的条带的长度。条带越长,执行时间也就越长。
- 要更详细地查看方法,通过选择该方法,右键单击,然后选择显示方法调用来打开“方法统计信息”视图。“方法统计信息”视图打开。
- 在“方法统计信息”视图中,要查看方法调用者的执行时间,右键单击然后选择显示方法调用。此视图将同一方法的表示法显示为带有标注的线。
- 从本地工具栏中,单击显示调用者
以查看视图中所选方法的调用者。每当单击此按钮时,就会显示调用序列中较前面的一个方法。
- 选择一个方法。所选区域的垂直长度指示了该方法的基本时间。通过查看视图右边的时间刻度,您可以确定此方法的执行时间。状态行给出了该方法的累积时间。
要进一步查看执行时间,执行下列操作:
- 打开“执行流”视图:从“概要分析监视器”视图中监视器的弹出菜单中,选择打开方式 > 执行流。
- 与“方法调用”视图一样,此视图的右边有一个垂直时间刻度。
- 使用放大
按钮来放大视图的特定部分以突出显示想要检查的方法。
- 单击方法名(或单击其下方的空白区域)来选择它。突出显示区域的垂直长度指示了该方法的基本时间。基本时间的精确值显示在状态行中。
- 使用缩小按钮
以便查看整个程序的更大的部分,同时仍然能够查看方法的突出显示区域(即,仍然可以看到黄色矩形区域)。即使在看不到整个执行表示法时,也仍可以确定此方法相对于整个程序所消耗的时间量。
相关概念
概要分析工具概述
执行流视图和表
统计视图
相关任务
对应用程序进行概要分析
启动或连接 Java 进程
研究垃圾回收
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.