您的位置:首页 > 编程语言 > Java开发

JAVA方法调用效率差别

2010-03-05 10:14 218 查看
  最近需要做一些JAVA底层操作,为了尽可能提高效率做了如下测试。

  在同一个类中建立普通的PUBLIC方法和PUBLIC STATIC 方法两种,并使用JUnit进行多次循环。最终证明使用对象的方式调用效率高。

  上结果。

起始时间Fri Mar 05 10:15:37 CST 2010结束时间Fri Mar 05 10:15:38 CST 2010时间间隔891

起始时间Fri Mar 05 10:15:38 CST 2010结束时间Fri Mar 05 10:15:39 CST 2010时间间隔1047

起始时间Fri Mar 05 10:15:45 CST 2010结束时间Fri Mar 05 10:15:46 CST 2010时间间隔875

起始时间Fri Mar 05 10:15:46 CST 2010结束时间Fri Mar 05 10:15:47 CST 2010时间间隔1046

起始时间Fri Mar 05 10:15:55 CST 2010结束时间Fri Mar 05 10:15:56 CST 2010时间间隔891

起始时间Fri Mar 05 10:15:56 CST 2010结束时间Fri Mar 05 10:15:57 CST 2010时间间隔1047

  上代码

package efficiency;

public class Efficiency {

public void eff() {

int a = 0;

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

a += i;

}

}

public static void eff1() {

int a = 0;

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

a += i;

}

}

}

package efficiency;

import org.junit.Test;

public class EfficiencyTest {

@Test

public void testEff() {

long st = new java.util.Date().getTime();

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

new Efficiency().eff();

}

long en = new java.util.Date().getTime();

System.out.println("起始时间" + new java.util.Date(st) + "结束时间"

+ new java.util.Date(en) + "时间间隔" + (en - st));

}

@Test

public void testEff1() {

long st = new java.util.Date().getTime();

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

Efficiency.eff1();

}

long en = new java.util.Date().getTime();

System.out.println("起始时间" + new java.util.Date(st) + "结束时间"

+ new java.util.Date(en) + "时间间隔" + (en - st));

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: