NetBeans Profiler 功能
NetBeans Profiler 包含以下功能:
低开销的性能分析:可以只分析应用程序代码的一部分,代码的其余部分不用分析,这样仍可以保持最快的运行速度。运行期间,您可以随时更改要分析的代码部分以及性能分析的类型(CPU、内存等)。
连接到正在运行的应用程序:可以照常启动分析的应用程序,即无需任何特殊命令行等;然后,您可以随时将它与性能分析器连接或断开连接。中断了与分析器的连接后,应用程序中就不存在任何分析,因此也就没有任何开销。
CPU 性能分析:您可以自由选择一种或多种根方法来分析整个应用程序,或者分析其代码的一部分。例如,可以将 servlet 的 doGet() 方法设置为根,从而只分析该方法和它调用的其他方法的代码。Java 代码的其余部分(包括 Web/Application 服务器的大部分代码)将以最快的速度运行。为了减少性能开销并获取具有大量线程的应用程序在实际工作负载中的准确结果,基于所选的根方法进行有选择地性能分析似乎是一种非常有效的方法。
内存性能分析:您可以只分析对象创建事件,这样可以产生较小的开销,并且您可以检测到对象分配过多的问题。如果这还不能满足需要,您可以启用对象活动性分析,这既会注册对象创建事件又会注册对象回收事件。通过这种性能分析,您可以了解对象当前在内存中的数量、生存期、分配路径以及其他特性。它还可以帮助您检测内存泄漏。
内存泄漏调试:在较大的 Java 应用程序中出现内存泄漏是很常见的情况。使用目前现有的大部分工具,可能需要花数小时来确定内存泄漏是否确实存在,然后再查明泄漏对象。而采用我们的技术可以让您根据泄漏对象通常具有的特殊分配和(或缺少)回收模式,立即查明此类对象。然后您可以检查这些对象的分配位置,在多数情况下,这就足以找出泄漏的根本原因了。
基于任务的性能分析:性能分析是一项复杂的活动,它可能需要进行很多的调节,因此,您需要详细了解该工具的功能。但是,如果使用基于任务的方法,则可以极大地简化这种学习过程,即首先为您提供若干个最常见的任务,如标准 CPU 或内存性能分析或者简单的监视。在这些任务中,多数选项已预先设定为最通用的值,只有最重要的选项由您来设定。随着学习深入,您可以进行自定义分析,从而可以充分利用底层 JFluid 技术的灵活性。
线程性能分析:您可以在应用程序执行期间观察线程及其活动。线程性能分析提供了两种线程视图:“线程时间线”和“线程详细信息”。前者可以并行显示线程活动,后者可以显示一个或多个选定线程的详细信息,其中包括线程生命周期中的所有状态更改列表。
脱机处理收集的数据:您可以保存收集结果的快照,然后进行脱机处理。
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!