Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
JDK 1.5中泛型(Generic type)的性能测试.

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

  测试分别在JDK 1.4.2和JDK 1.5中进行,但测试结果出乎我的意料.同样的代码,使用泛型后性能竟然有小部分的下降.

看来Sun还得加把劲,才能使JDK 1.5成为真正的“猛虎“.

/*

 * 创建日期 2004-10-6

 * 作者 2002PP

 */

package code.test;

 

import java.util.ArrayList;

import java.util.List;

 

/**

 * @author 2002PP

 * 在JDK 1.4.2下

 */

public class PerformanceTest

{

     /** Creates a new instance of PerformanceTest */

     public PerformanceTest()

     {

     }

 

     public static void main(String[] args)

     {

         List list = new ArrayList();

         long beforeAdd = System.currentTimeMillis();

         int end = 100000;

         for (int i = 0; i < end; i++)

         {

              list.add(new Integer(i));

         }

         long afterAdd = System.currentTimeMillis();

         for (int j = 0; j < end; j++)

         {

              Integer integer = (Integer) list.get(j);

         }

         long afterGet = System.currentTimeMillis();

          double addTime = (afterAdd - beforeAdd) / 1000.0d;

          double getTime = (afterGet - afterAdd) / 1000.0d;

          System.out.println(

              "java.version=" + System.getProperty("java.version"));

          System.out.println("Add耗时:" + addTime);

          System.out.println("Get耗时:" + getTime);

 

     }

}

结果:java.version=1.4.2

Add耗时:0.125

Get耗时:0.016

 

 

/*

 * 创建日期 2004-10-6

 * 作者 2002PP

 */

package code.test;

 

import java.util.ArrayList;

import java.util.List;

 

/**

 * @author 2002PP

 * 在JDK 1.5下

 */

public class PerformanceTest

{

       /** Creates a new instance of PerformanceTest */

    public PerformanceTest() {

    }

   

    public static void main(String[] args) {

        List<Integer> list=new ArrayList<Integer>();

        long beforeAdd=System.currentTimeMillis();

        int end=100000;

        for (int i=0;i<end;i++) {

            list.add(new Integer(i));

        }

        long afterAdd=System.currentTimeMillis();

        for (int j=0;j<end;j++) {

            Integer integer=list.get(j);

        }

        long afterGet=System.currentTimeMillis();

        System.out.println("java.version="+System.getProperty("java.version"));

        double addTime=(afterAdd-beforeAdd) / 1000.0d;

        double getTime=(afterGet-afterAdd) / 1000.0d;

        System.out.println("Add耗时:"+addTime);

        System.out.println("Get耗时:"+getTime);

    }   

}

 

结果:java.version=1.5.0

Add耗时:0.14

Get耗时:0.016

 




相关文章

相关软件