在NetBeans IDE 6.0中分析Java应用程序性能 - 编程入门网
的名称并选择 Go To Source,您可以快速浏览到包含任何列出的方法的源代码。单击 Go To Source 按钮时,该类会在 Source 编辑器中打开。
在NetBeans IDE 6.0中分析Java应用程序性能(7)时间:2011-07-06 netbeans.org分析内存使用情况 分析内存使用情况任务会给您提供有关在目标应用程序中被分配的对象的数据,比如被分配对象的数目、类型和位置。 要分析内存性能,您可以通过选择以下选项之一确定想要获取多少数据: Record object creation only。当选择此选项时,当前由目标 JVM 加载的所有类(以及实际加载的每个新类)都会被监测,以生成有关对象分配的信息。 Record both object creation and garbage collection。当选择此选项时,分析应用程序会给您提供有关对象活跃度的信息,比如有关每个类型的对象由多少仍然是活动的、它们的大小和平均年龄以及分配数据。 第一个选项是第二个的功能子集,并且具有更小的性能和内存开销。Select Profiling Tasks 窗口中的 Overhead 测量仪可以根据您选择的分析选项大致给出分析开销的增长或降低。 现在我们可以使用 IDE 来分析 Anagram Game 应用程序的内存性能了。您将选择 Record both object creation and garbage collection 选项。您也将选择 Record stack traces for allocation,这样 IDE 会记录整个调用堆栈。通过选择此选项,当您创建内存快照时,您将可以查看分配了对象的方法调用的相反的调用树。 单击 Profiler 窗口中的 Stop 按钮停止先前的分析会话(如果仍然在运行)。 单击 Stop 按钮时,Anagram Game 应用程序也会停止。 从主菜单选择 Profile > Profile Main Project 选项。 在 Select Profiling Task 对话框中选择 Memory 选项。 选择 Record both object creation and garbage collection 选项。 Track every N object allocations 的值仍保持为默认值 10。 此选项设置了堆栈取样的时间间隔/ 比例。通过将该值设为 10,则表示对于每个类,每隔 10 个对象才有一个将被完整记录。要记录每个对象的所有信息,您可以将该值设置为 1.但是这将显著增加分析开销。 选择 Record stack traces for allocation 选项。 请注意,当您选择此选项时,Overhead 测量仪会显著增加,但是我们的应用程序足够小,应该可以管理其性能高峰。 单击 Run 按钮。 在NetBeans IDE 6.0中分析Java应用程序性能(8)时间:2011-07-06 netbeans.org单击 Run 按钮后,IDE 会启动应用程序并开始分析会话。要查看分析结果,单击 Profiler 窗口中的 Live Results 按钮来打开 Live Profiling Results 窗口。Live Profiling Results 窗口显示有关分配到项目中的对象的大小和数量的信息。 默认情况下,结果会按 Live Bytes 的大小来存储和显示,但是您可以单击列标题来更改结果显示的方式。您也可以通过在列表下面的过滤器框中键入一个类名来过滤结果。 创建快照 当正在进行分析会话时,您可以通过创建快照来捕获分析结果。快照可以捕获您创建该快照时的分析数据。但是,快照与活动的分析结果在以下方面也有所不同: 当无分析会话运行时,可以对快照进行分析。 快照比活动的结果包含更详细的分析数据记录。 快照更容易比较(内存快照)。 由于打开项目的快照并不一定需要分析会话正在运行,因此您可以通过在 Profiler 窗口中选择已保存快照列表中的快照,并单击 Open 随时打开项目的快照。 创建和比较内存快照 对于 Anagram Game 应用程序,我们想要创建结果的快照,并查看 String 类型对象的分配堆栈轨迹。然后我们想要再创建一个快照,并对两个快照进行比较。如果打开了内存快照,您可以将其与项目中或在系统的其他地方保存的内存快照进行比较。 确保分析会话仍 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |