在 NetBeans IDE 中使用性能分析点
由 NetBeans 中文社区的暴风雨骑士翻译(2008-12-10)
NetBeans IDE 包括了一个强大的性能分析工具,能提供有关应用程序运行时行为的重要信息。NetBeans 性能分析工具使你能在 IDE 中,轻松监视应用程序的线程状态、CPU 性能和内存使用,且只需相对较小的系统开销。
本文档描述如何使用性能分析点,将其作为建立和控制性能分析会话的另一种方式。性能分析点类似于调试断点,将它们直接放在源代码里,命中时就触发行为。在设置性能分析点后,它将成为项目的一部分,直至将其删除。在“性能分析点”窗口中,可以查看、修改和删除项目中的性能分析点。
可使用性能分析点进行下列操作:
- 重置性能分析结果
- 生成快照或堆转储
- 记录代码片段的时间戳或执行时间
- 停止和启动负载生成器脚本(需要负载生成器插件)
本文档将演示如何使用性能分析点来获取 Anagram Game 样例应用程序(包括在 IDE 中的一个样例 Java 应用程序)的性能分析数据。虽然 Anagram Game 是个非常简单的 Java 应用程序项目,你能根据相同的步骤去分析更大更复杂的 Java 应用程序,以及 Web 和企业应用程序项目。
开始教程前,你可能要阅读下列文档,让自己熟悉使用性能分析工具。

内容
开始
前提
本文档假定你具有一些下列技术的基础知识或编程经验:
教程所需的软件
对于本教程,你需要在计算机上安装下列软件:
性能分析工具和 NetBeans IDE 捆绑在一起,不需要特别的步骤来开始分析应用程序。
性能分析点基础
设置性能分析点
可在编辑窗口中的源代码里设置性能分析点。
- 打开要添加性能分析点的类
- 在源代码编辑器中,右键单击要添加性能分析点的行,然后选择“性能分析”>“插入性能分析点”以打开“新建性能分析点”向导。
- 选择性能分析点类型和项目。单击“下一步”。

- 为性能分析点键入名称并定制性能分析点的属性。单击“完成”。
单击“完成”后,在源编辑器的边栏中,您会看到插入了性能分析点的行旁边将显示一个表示性能分析点类型的图标。
启用、禁用和编辑性能分析点
当没有性能分析会话运行时,可以在源编辑器或“性能分析点”窗口中编辑、启用和禁用各个性能分析点。要查看所有性能分析点的列表,可通过从主菜单选择“窗口”>“性能分析”>“性能分析点”,来打开“性能分析”窗口。
当性能分析会话运行时,“性能分析点”窗口显示每个性能分析点的命中次数,并使你能查看结果报告。
可快速导航到源代码中指定的性能分析点,方法是打开“性能分析点”窗口,然后右键单击性能分析点并选择“显示源代码”。
要修改状态或性能分析点的设置,进行下列步骤之一:
如果选择编辑性能分析点,则会打开“定制性能分析点”对话框。
在项目中查看活动的性能分析点
当分析内存使用或应用程序性能时,可使用性能分析点。选择性能分析任务时,可查看活动且对分析会话启用的性能分析点。
- 右键单击项目节点,然后选择“分析”以打开“选择性能分析任务”对话框。
- 选择性能分析任务(“CPU”或“内存”)。
- 在性能分析任务的设置窗格中,单击“显示活动的性能分析点”。
单击“显示活动的性能分析点”时,将打开一个对话框,其中列出项目中设置的所有性能分析点。已设置但被禁用的性能分析点将呈灰色显示。
注意。如果要启用、禁用或定制性能分析点的设置,可打开“性能分析点”窗口,或在项目中定位性能分析点。
使用性能分析点
对不同的使用情况,IDE 包括了不同类型的性能分析点。所选性能分析点依赖于想获取的数据类型。本练习将演示如何使用不同的性能分析点。你将先创建一个样例项目,然后在源代码中设置性能分析点。
创建样例项目
在本文档中,你将在分析 Anagram Game 样例应用程序时使用性能分析点。为此,你将先使用“新建项目”向导来创建样例应用程序。
要创建 Anagram Game 应用程序,进行下列步骤:
- 从主菜单选择“文件”>“新建项目”。
- 在“新建项目”中,选择“样例”>“Java”类别。
- 选择“Anagram Game”项目。
- 指定项目的路径,确保选中“设置为主项目”属性。单击“完成”。
单击“完成”时,IDE 会创建“Anagram Game”项目。可以看到,“Anagram Game”项目已在“项目”窗口中可见,并且名称为粗体,表示已被设置为主项目。缺省时,当使用 IDE 分析项目时,IDE 将分析主项目。
测量代码片段的执行时间
可使用秒表性能分析点来获取性能分析点命中时的时间戳。还可以使用秒表性能分析点,通过计算两个时间戳之差,来测量代码片段执行所花的时间,可设置任意数量的秒表性能分析点。
设置秒表性能分析点的时候,可选择下列类型之一:
- 时间戳。此类型获取命中性能分析点时的时间戳。
- 时间戳和持续时间。此类型使你能测试执行代码片段所花的时间。通过在要开始测量的位置设置一个秒表性能分析点,在要结束测量的位置设置一个秒表性能分析点,即可指定想测量的代码片段。起止的秒表性能分析点根据名称配对。
要测量代码片段的执行时间,执行下列步骤:
- 在编辑器中打开 Anagrams.java 类,方法是展开 com.toy.anagrams.ui 源包,然后双击 Anagrams.java。
- 在源代码中,定位要开始测量的行。
- 右键单击行,然后从弹出菜单选择“性能分析”>“插入性能分析点”。
- 选择“秒表”性能分析类型。单击“下一步”。
- 选择“时间戳和持续时间”设置。
选择“时间戳和持续时间”时,对话框自动将秒表设置为在代码行的开头开始,在下一行末尾结束。可以编辑秒表开始和结束的行。
- 修改“位置(结束)”设置以将结束行更改为开始行后的多行。单击“完成”。
设置性能分析点时,开始点和结束点的标注出现在编辑器的左侧空白处。如果打开“性能分析点”窗口,可以看到该秒表性能分析点已添加到列表。
- 在工具栏中单击“分析主项目”。
- 在“选择性能分析任务”对话框中,单击“CPU”或“内存”性能分析任务。

- 选择“使用已定义的性能分析点”。
如果单击“显示活动的性能分析点”,可以查看当前性能分析会话中启用的性能分析点。

- 单击“运行”。
单击“运行”时,IDE 启动 Anagram Game 应用程序并开始性能分析会话。如果打开“性能分析点”窗口,可以看到“秒表”性能分析点是否命中。性能分析点命中后,在“结果”列中单击“报告”,可打开一个窗口,显示性能分析点的数据和在起止秒表性能分析点间执行所花的时间长度。
首次分析项目时,必须在提示将性能分析工具和项目集成时单击“确定”。有关更多信息,参见在 NetBeans IDE 中分析 Java 应用程序的介绍。
生成快照或堆转储
如果要在很精确的时刻捕获性能分析数据,可使用性能分析点来生成性能分析结果或堆(堆转储)的快照。要生成性能分析结果快照(内存或 CPU)或堆转储,需将“生成快照”性能分析点置入源代码,选择快照类型并指定要保存文件的位置。如果不指定位置,所有快照将被保存到主项目文件夹中(nbproject/private)。
注意。放置快照性能分析点时应当谨慎操作,因为如果放在经常执行的代码里,性能分析点可能会命中数百次。
要用性能分析点生成快照,进行下列步骤:
- 在编辑器中打开 Anagrams.java 类,方法是展开 com.toy.anagrams.ui 源包,然后双击 Anagrams.java。
- 在源代码中,定位要放置性能分析点的行。
- 右键单击行,然后从弹出菜单选择“性能分析”>“插入性能分析点”。
- 选择“生成快照”性能分析类型。单击“下一步”。
- 选择“性能分析数据快照”或“堆转储”设置。
- 指定要槽村文件的位置或保持缺省位置。单击“完成”。

- 在工具栏中单击“分析主项目”。
- 在“选择性能分析任务”对话框中,单击“CPU”或“内存”。
- 选择“使用已定义的性能分析点”。
如果单击“显示活动的性能分析点”,可以查看当前性能分析会话中启用的性能分析点。
- 单击“运行”。
单击“运行”时,IDE 启动 Anagram Game 应用程序并开始性能分析会话。如果打开“性能分析点”窗口,可以看到“生成快照”性能分析点是否命中。性能分析点命中后,在“结果”列中单击“报告”,可打开一个窗口,显示性能分析点的数据。要查看快照,在窗口中单击“打开快照”。
快照点可用重置点有效配对,并计算堆增量。
使用“生成快照”性能分析点时,结果快照或堆转储被自动保存到指定的位置。如果指定快照保存到项目文件夹,保存的快照会自动出现在“性能分析”窗口左边的“保存的快照”列表。通过在“保存的快照”列表中选择项目并单击“打开”,可打开快照。
注意。 如果指定快照保存的位置不是项目文件夹,快照不会在“保存的快照”列表中自动列出。要打开未列在“保存的快照”列表中的快照,单击列表旁的“装入”按钮,然后导航宝保存快照的位置。
有关使用快照和堆转储的更多信息,可参见下列文档:
- 有关查看和比较快照的更多信息,参见介绍性能分析教程中的“生成快照”一节。
- 有关浏览堆转储的更多信息,参见使用堆转储。
重置性能分析结果
可在任何给定的准确时刻重置收集的结果(内存或 CPU),方法是在源代码中放置一个“重置结果”性能分析点。
要设置“重置结果”性能分析点,进行下列步骤:
- 在编辑器中打开 Anagrams.java 类,方法是展开 com.toy.anagrams.ui 源包,然后双击 Anagrams.java。
- 在源代码中,定位要放置性能分析点的行。
- 右键单击行,然后从弹出菜单选择“性能分析”>“插入性能分析点”。
- 选择“重置结果”设置。单击“下一步”。
- 指定性能分析点的名称,确保性能分析点的位置正确。单击“完成”。

- 在工具栏中单击“分析主项目”。
- 在“选择性能分析任务”对话框中,单击“CPU”或“内存”。
- 选择“使用已定义的性能分析点”。
如果单击“显示活动的性能分析点”,可以查看当前性能分析会话中启用的性能分析点。
- 单击“运行”。
单击“运行”时,IDE 启动 Anagram Game 应用程序并开始性能分析会话。如果打开“性能分析点”窗口,可以看到“重置结果”性能分析点是否命中。性能分析点命中后,在“结果”列中单击“报告”,可打开一个窗口,显示性能分析点的数据。

另见
本文档演示了在分析简单的 NetBeans 项目时,如何使用性能分析点的基础。上面概述的步骤在分析大多数项目时适用。
有关性能分析设置的更详细信息和本文档中没有覆盖的功能,请查阅产品中包括的文档,可从“帮助”菜单项访问。
有关相关文档,参见下列资源:
页首