硅谷杂志李晓慧:Java软件的性能测试 |
2012-12-06 12:19 作者:李晓慧 来源:硅谷网 HV: 编辑: 【搜索试试】
|
|
【硅谷网12月6日文】据《硅谷》杂志2012年第18期刊文,Java是一种通用的,并发的,强类型的,面向对象的编程语言。主要针对Java软件的性能测试进行简单的分析和探讨。主要从测试系统设计、Java软件的性能测试以及性能评测方法三方面展开详细的论述。
Java语言特别强调准确性,但可靠的行为要以性能作为代价。因此,对Java软件的性能测试的探讨有其必要性。
1测试系统设计
使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,作为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。
1.1Java语言的特性
Java语言的主要特性可以从Java虚拟机、JavaAPI、Java应用程序直接体现出来。1)Java虚拟机,其是在真实机器中用软件模拟实现的一种抽象的机器。(Java虚拟机规范)Java虚拟机主要由五个部分组成:指令系统、寄存器、栈、存储区、碎片回收区解释和执行Java程序编译后产生的字节码。2)JavaAPI,就是Java系统提供的预先定义好的软件组件的集合,它们提供了许多可供程序员调用的常用功能丰富的API为程序员提供了极大的方便,但也是学习者的难点问题。
1.2Java语言程序
对于Java语言程序的分析,可以从Java应用程序和Java小程序两个方面入手:1)Java小程序,其又可以分为两类,一是JavaApple,简单来讲,就是指在客户端运行的Java小程序,一般来说客户端是指用户所使用的浏览器;一是JavaServlet,主要就是指在服务器端执行的Java小程序。在系统运行过程中,为了支持Servlet的运行,需要将包含Java虚拟机的服务器软件安装在服务器端,因此,在通常情况下,我们也会把这种能够支持服务端小程序的服务器,称为应用服务器;2)Java应用程序,即JavaApplication,这是一个独立完整的程序,在系统中,通过命令行调,采用独立的解释器软件,这也是程序的入口。
1.3程序开发
Java语言的开发,首先涉及到的一个主要环节就是JDK的安装与设置,在Windows平台上运行安装程序,以安装JDK设置PATH(文件路径)参数。由于JDK提供的实用程序都在安装目录下的子目录bin下,为了能在任何目录下直接使用文件名调用这些程序,必须设置操作系统的文件路径参数。另外,在使用JDK实用程序时,必须要对源代码文件进行编译,如果系统提示符再次出现并且没有任何消息产生,那么编译便成功了如果有系统报错消息产生,则表示程序编译出错,程序员必须阅读报错信息,并根据这些信息对程序进行修改程序成功编译后,在与源代码文件同一目录下会生成一个新的文件,其文件名与源代码文件名相同。
1.4线程
在Java程序中,线程作为一个单一的顺序控制流程存在于其中。线程类似于传统的顺序程序,都有一个执行的起点,经过一系列指令后到达终点。线程在执行过程中的任何时刻只能有一个执行点线程组可以将多个线程集中在一个对象中,并同时操作这些线程(比如全部挂起或杀死)所有的Java线程都是某个线程组的一员。当Java应用程序开始执行时,虚拟机会创建一个名为main的线程组如果程序没有显示地创建其他线程组并将线程设置其中,则所有的线程都是main线程组的成员。
2Java软件的性能测试
在进行Java软件性能测试时,需要在其内部建立一个评测程序,结合系统运行平台,实时跟踪例例程的时间,同时,还要将所得到跟踪评测结果完整地写入一个文件中。但是在测试过程中,一定要保证评测器的稳定性,否则将会影响到Java软件的正常勤工作,严重时,还要影响到后续版本的正常运行和稳定性。要从真正意义上理解上评测程序所测出结果以及相关信息并不容易,为此,就要对Java开发环境有一个全面的分析和了解。
在Java开发环境中,主要是由java.io所提供的一系列的类和接口来实现信息的输入、输出处理。而标准输入、输出处理则是由java.lang中提供的类来处理的,这些类又都是从包java.io中的类继承而来的。I/O类提供了低层次和高层次的界面。每一种介质都有一对与之相关联的输入输出类,它们提供低层次的面向数据序列(字符、字节)的界面。与介质相关的各个类都分别是输入输出抽象流类的子类,它们通常具有与介质相关的构造器及方法。I/O抽象类为所有与介质相关的具体输入输出类提供了一个统一的界面。反过来各个具体的与介质相关的输入输出类也扩展了抽象类,通过它们可以实现在具体介质上的输入输出操作
另外,JAVA编程语言还提供了一个访问控制机制,通过这种机制,可以决定那些其它的类可以直接访问它的变量,并且通过介质提供一种低层次的方法将数据输入或输出到相应的介质;将与介质相关的对象强制类型转换为它的父类,并利用该对象构造一个流对象。这样便建立起了流类对象与介质相关对象的关联;这时就可利用流对象的I/O方法进行相应介质上的数据读写。
3性能评测方法
首先,在进行评测时,由于要用到系统时钟,所以,要避免其他应用程序以及其他任何进程的运行,确保测试结果的准确性。若是对程序进行了相应的修改,需要要要在修改前后,对代码的执行时间进行分别测试,从而准确测试出改善后的性能。但是在测试的过程中,要注意的一点就是要保证每一次时间测试尽可能在完全一致的时间内,在必要时,可以设计一个完全独立的测试,将测试结果控制在最精准的范围内。
其次,运行提速。在测试过程中,首要问题是隔离性能瓶颈,一般情况下,主要有两种方法。其一,常规手段。这种方法就是对程序重新定义,是一种极为现实的提速方法。而且,此方法在应用过程中,不仅算法精确,而且还会使得软件性能得到更大的提升,尤其是数据集尺寸不断变大的过程中,其优点就会更加明显。其二,依赖语言的方法。这种方法,需要对软件各种运算执行时间有一个全面的掌握,从而进行客观分析和评价。
此外,Java编程语言允许通过改变方法参数的数量和类型来重载方法,也可以重载父类中的方法。在编写与父类方法同名的方法时,一定要注意检查返回类型和参数列表,确保正确的重载或者覆盖。
4总结
总而言之,Java软件要想全面进行,就要对程序进行正确完整地检测,并且通过现实环境,着手解决性能问题,优化软件程序,提高程序效率。 |
|
|
|
【对“硅谷杂志李晓慧:Java软件的性能测试”发布评论】 |
版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
|
|
|
|