netbeansIDe和Java,在 NetBeans IDE 中对 Java 应用程序进行性能分析的简介

分析 CPU 性能

选择 "CPU" 任务时,IDE 会对应用程序的方法级 CPU 性能(执行时间)进行分析并实时处理结果。您可以选择通过以下方法来分析性能:定期进行堆栈跟踪,或分析应用程序中的方法。您也可以选择分析所有方法,或只分析部分应用程序代码,甚至可以只分析特定代码片段。

要分析 CPU 性能,可通过选择以下一个选项,选择应用程序的性能分析方式。

快速(采样)。在此模式中,IDE 对应用程序进行采样并定期执行堆栈跟踪。此选项不如分析方法精确,但是开销较低。借助此选项,可以找到可能需要分析的方法。

高级(分析)。在此模式中,将对所分析的应用程序的方法进行分析。IDE 会记录线程进入和退出项目方法的时间,方便您查看在每个方法中花费的时间。在进入某个方法时,线程将生成“方法进入”事件。在退出该方法时,线程将生成相应的“方法退出”事件。系统将记录这两个事件的时间戳。该数据是实时处理的。

您可以选择分析应用程序中的所有方法,也可以通过指定一个或多个*根方法*只分析部分应用程序代码。要指定根方法,可以在源代码中使用弹出式菜单,也可以单击*定制*,打开“编辑性能分析根目录”对话框。

根方法是源代码中可指定为分析根的方法、类或包。当应用程序的某个线程进入和离开分析根时,系统将会收集性能分析数据。在应用程序的某个线程进入根方法之前,系统不会收集任何性能分析数据。指定根方法可以大大减少性能分析开销。对于某些应用程序,指定根方法可能是获取所有详细和/或实际性能数据的唯一方式,因为对整个应用程序进行性能分析时,可能会生成大量的性能分析数据,使应用程序无法使用,甚至可能导致其崩溃。

*注:*快速分析模式不适用于 NetBeans IDE 7.0 及更低版本。您只能通过分析获取性能分析结果,但是,您可以选择分析整个应用程序,也可以通过指定一个或多个根方法,只分析部分应用程序。

您可以进一步优化所分析的代码量,方法是使用过滤器限制所分析的源。

现在,您将使用 IDE 分析 Anagram Game 应用程序的 CPU 性能。此外,您还将选择 "Part of Application"(部分应用程序)选项,然后选择 WordLibrary.java 作为性能分析根。通过选择此类作为性能分析根,可以只对此类中的方法进行分析。

在 "Profiler"(分析器)窗口中单击 "Stop"(停止)按钮,以停止前一个性能分析会话(如果仍在运行)。

从主菜单中选择 "Profile"(性能分析)> "Profile Main Project"(分析主项目)。

在 "Select Profiling Task"(选择性能分析任务)对话框中选择 "CPU"。

选择 Advanced (Instrumented)(高级(分析))。

要使用此选项,还需要指定性能分析根方法。

单击 Customize(定制),打开 "Edit Profiling Roots"(编辑性能分析根目录)对话框。

select-cpu-task.png

Figure 7. 选择 CPU 性能分析任务

在 "Edit Profiling Roots"(编辑性能分析根目录)对话框中,展开 "AnagramGame" 节点,然后选择 Sources/com.toy.anagrams.lib/WordLibrary 。对项目进行性能分析时,可以指定多个根方法。

edit-profiling-roots.png

Figure 8. 用于选择根方法的对话框

单击 "Advanced"(高级)按钮,以打开 "Edit Profiling Roots (Advanced)"(编辑性能分析根目录(高级))对话框,该对话框提供了更高级的选项,用于添加、编辑和删除根方法。

edit-profiling-roots-adv.png

Figure 9. 用于指定根方法的对话框

您可以看到 WordLibrary 被列为根方法。单击 "OK"(确定)以关闭 "Edit Profiling Roots (Advanced)"(编辑性能分析根目录(高级))对话框。

单击 "OK"(确定),以关闭 "Edit Profiling Roots"(编辑性能分析根目录)对话框。

在选择性能分析根目录后,在 "Select Profiling Task"(选择性能分析任务)对话框中单击 edit(编辑)即可修改所选的根方法。

选择 Profile only project classes(只分析项目类)作为过滤器值。

使用此过滤器可以限制所分析的类。您可以从 IDE 的预定义性能分析过滤器中选择,也可以创建自己的定制过滤器。单击 Show filter value(显示过滤器值)即可查看在应用所选过滤器时进行分析的类列表。

show-filter-value.png

Figure 10. "Show Filter Value"(显示过滤器值)对话框

在 "Select Profiling Task"(选择性能分析任务)对话框中单击 "Run"(运行)以启动性能分析会话。

单击 "Run"(运行)后,IDE 将启动应用程序,并开始性能分析会话。要查看性能分析结果,请在 "Profiler"(分析器)窗口中单击 "Live Results"(实时结果)以打开 "Live Results"(实时结果)窗口。"Live Results"(实时结果)窗口将显示迄今为止收集的性能分析数据。默认情况下,每几秒钟就刷新一次显示的数据。分析 CPU 性能时,"Live Results"(实时结果)窗口会显示与每个方法所花费时间相关的信息,以及与每个方法的调用次数相关的信息。您可以看到,在 Anagram Game 应用程序中,最初只调用选定的根方法。

cpu-liveresults1.png

Figure 11. CPU Live Results(CPU 实时结果)

您可以快速导航至包含任何列出方法的源代码,方法是:右键单击方法的名称,然后选择 "Go To Source"(转至源)。单击 "Go To Source"(转至源)后,将在源代码编辑器中打开类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值