快速业务通道

三款Java分析器点评 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23

三款Java分析器点评

时间:2010-12-14

概述

谁实现Java应用程序的时候不出点问题?嗯,让我们诚实一点吧...代码分析器就是解决这个普遍问题的唯一的自定义工具。在本文中,Laurence Vanhelsuwé将为您回顾三种商用的Java分析器:Borland的Optimizeit Suite、 Quest Software的 JProbe Suite、以及ej-technologies的JProfiler。   现在的软件是一个如此笨重的、如此多面性的家伙,以致没有一个开发工具可让程序员随心所欲的完成他们的构想。甚至是运行--这个难以捉摸的尺度,当我们的代码在二档挣扎时恨得它要死;而当我们的代码以一档的速度运行时,我们却爱得它要命--它包含了太多相关方面。

性能方面公认的问题有:主观的用户感知程序速度及响应速度。如果我们暂时排除用户方面的因素,那么评价运行速度就等于客观实现方面的总和。这些方面有:算法选择、整体内存的使用、对象的动态分配和释放、以及多线程设计与运行行为。帮助你理解你的程序在运行时的维数选择就是代码分析器的繁重工作。

在本文中,我考虑了三种商用Java分析器并且判断出哪一种分析器更容易满足你我的需要:

· Borland的 Optimizeit Suite

· Quest Software的JProbe Suite

· ej-technologies的JProfiler

分析器原理

不必惊奇,这三种产品有许多共同点。所有现代分析器都是从同一个起点和约束开始的: Java 虚拟机分析器界面(JVMPI) (参考其他栏的 "The Java Virtual Machine Profiler Interface")。Sun微系统的API允许工具开发商接口或者连接到遵循JVMPI的JVM上,并且监控运作的方式以及JVM运行任何Java程序时的关键事件--从单独的应用程序到 applet、servlet和企业JavaBeans (EJB)组件。

假定JVMPI强加给所有的分析器工具开发商一个标准的、同等的游戏场,那么区分开发商高低的因素只在于工具的元特征(如,添加重要数值到原始JVMPI数据和功能上的特征,更为重要的是,绘图用户界面(GUI)应该针对这些特征进行开发),这也应该没什么稀奇的了。

在你看到该产品回顾的余下部分的时候,它的每一个自我形成或者自我突破的GUI都有自己的方法来解决如何开发原始的JVMPI 特征的核心问题,以便可以最大化分析和调试的效率。不幸的是,很多用到大型数据库的应用程序都采用可视化的、直观的真正友好的用户界面,但没有一个分析器能说服我:它们在这方面做得比较成功。

回顾的这三个分析器几乎都有着同样的分析会话期配置能力。所以在这我只是简短的提一下,并且继续进行比较:

· JVM 选择

· 要分析的程序的选择

· CLASSPATH 和资源路径选择

要启动评价会话期,所有这三种产品都要求你选择JVM,我们通常JVM上运行应用程序。一旦你选择了JVM,你必须指定你的程序的主类,或者可执行的jar文件,如果你的程序要参数的话,也要指定哪种参数 。最后,为评价会话期设置CLASSPATH通常也要你指明你的源代码层上的工具。图1展示了一个典型的会话期配置对话框。

三款Java分析器点评 - 编程入门网

Figure 1. 

在分析器内启动一个程序意味着生成、捕捉、和观察大量数据,所以所有的分析器都包含着不同的方法来控制数据的流动,在不同的标准以及每一封装包的基础上进行过滤。同样也可以使用灵活的正规表达式类型模式如java.util.*或者jav*来完成。

三款Java分析器点评(2)

时间:2010-12-14

三种产品的快速比较

在我探究具体的分析器特征(和非特征)之前,表格1 展示了每个产品关键点的属性矩阵:

Table 1.属性矩阵

Optimizeit Suite JProbe Suite JProfiler
版本 5.0 5.0 2.2.1
价格 $1,599 $2,0001 $499
免费评价 Yes Yes Yes
在线(安装)帮助 Yes Yes (JavaHelp) Yes (JavaHelp)2
有无上下文相关帮助? Yes Yes Yes
安装指南 Yes Yes No3
白皮书文件 No Yes No
工具模块数 3 (Profiler, Thread Debugger,Code Coverage) 4 (Profiler, Coverage,Memory Debugger,Threadalyzer) 0 (all-in-one)
工具模块是否单独出售? No Yes No
CPU 分析器 Yes (不实时) Yes (不实时) Yes (实时)
对象/堆栈 分析器 Yes Yes Yes
线程分析器 Yes Yes Yes
死锁检测 自动并可见 自动 手动
路径条件检测 No Yes No
代码覆盖 Yes Yes No
多JVM支持 Yes Yes Yes
深入到源代码 Yes Yes Yes
深入到字节码 No Yes Yes
远程评价* Yes Yes Yes
自动评价** Yes Yes Yes
IDE 集成 Yes Yes Yes
生成报告 Yes Yes Yes
主机平台许可政策 多平台和单一平台许可 单一平台许可 多平台
网址 http://www.borland.com/optimizeit/

index.html

http://www.jprobe.com/ http://www.jprofiler.com/
易于使用度 7/10 4/10 8/10

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号