三款Java分析器点评 - 编程入门网
来解决评价问题,模块有四: JProbe Profiler、JProbe Coverage、JProbe Memory Debugger、和JProbe Threadalyzer。
与其他两个分析其发行商不同,Quest Software单独发售个别模块组件;如JProbe Profiler一个就要$849 (包括一年的技术支持)。 JProbe Suite的关键特征 JProbe的评价方法集中在JVM实现数据瞬象的概念上。你可以为了以后的重新装载和后续的分析保存瞬象,并且比较两种瞬象以找出差别。图7 显示了一个典型的JProbe Profiler窗口,它包含两个用于分析的瞬象。 Figure 7. 一个典型的高级JProbe GUI显示用于(静态)分析的评价瞬象。 敲击一下,中心瞬象方法表示多数JProbe分析已经离线,不再是实时的了。这种方法对于堆栈分析很有意义,但是对于CPU实现评价就过于严格了。 对于CPU评价的所有重要的任务来说,JProbe要么提供表格式视图(如图8),要么提供图表式视图(如图9)。它没有提供让你深入到调用堆栈分支的直觉的Swing JTree类型的视图。 Figure 8. 一个典型的JProbe Profiler表格显示收集的实时方法。 Figure 9. 用图表显示的JProbe 实时方法。 三款Java分析器点评(6)时间:2010-12-14JProbe的第二个模块,Memory Debugger允许你使用多种方式对堆栈瞬象进行操作。 它也包含一个简单而有效的使用实例分析的功能,它允许你在启动使用实例之前重新设置收集的数据。Memory Debugger也允许你定义任何实例数的计算限度(Quest Software有点模糊地称之为"断言"),在使用实例结束的时候,如果类生成的对象超过了你的期望值这个计算限度就会提醒你。图10显示了JProbe的堆栈概要图。 Figure 10. JProbe的堆栈概要图是Memory Debugger模块的主视图。 Memory Debugger的实例细节图(图11)让你可以分析出哪个对象涉及到了焦点对象以及焦点对象涉及到了哪个对象。 Figure 11. 引用图表视图(图12)允许你以一种辉煌但经常无法抵抗的图表细节来分析流入和流出的引用。 Figure 12. 三款Java分析器点评(7)时间:2010-12-14如果缠在一起的意大利面条对你来说听起来就好比听二十世纪七十年代的减速火箭的话, Memory Leak Doctor显示的对象引用链有产生存储遗漏的潜在可能(图13)。Leak Doctor 可让你在一个堆栈瞬象上实现"如果我删除一个引用会怎样"的试验,并且看看这种操作能否解决你的存储遗漏问题。 Figure 13. Memory Debugger的又一个有用的性能是Garbage Monitor;它可以追踪用于暂时存在的对象如幕后的对象StringBuffer之类的分配热点。这种对象可使用语法级的字符串进行串联(与API级别的串联相反)。 JProbe的 Threadalyzer是JProbe Suite的线程分析模块,并有着足以自豪的、可以自动检测问题的许多有用的性能。这些问题有: · 死锁(现有的和潜在的) · 线程迟延 · 数据竞争 但是,解决这些以外的其他方面的性能,GUI就远远没有那么直观了。 JProbe Suite的活页(纸)文件的编写和设计(在布局、屏幕快照的使用、和图标方面)应该说做得相当好。而且更进一步的是,它还告诉读者一些有价值的技术性能分析的方法和技巧,并且就如何将分析集成到你的软件开发方法中去提出一些基本的建议。 JProbe Suite的缺陷 尽管JProbe在工具市场占的份额高,我对于它的粗糙和不成熟仍然感到失望。它看起来感觉就像一个存在了多年但是却没有从偶尔的信手重新设计这种增长需求中获益的软件。因此JProbe Suite 5.0则在经典的"特征化"的重压下呻吟。我发现JProbe只有极少数方面才真正直观或者功能相当强大。学会使用JProbe是一件真正困难的任务。Memory Debugger中从左边、右边和中间弹出的GUI很不直观,尤其让人感到迷惑,而且我在 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |