对Web中的Action使用反射与否影响不大

感觉反射调用对整个Web过程来说可以忽略不计哦,虽然和直接调用相差还是蛮大的

我机器(945主板、Celeron D 3.06、1G内存、XP系统)的测试结果:
不添加干扰方法
:797
:109

添加了干扰方法后

:812
:120


大家可以做下测试,代码如下
package example;

import java.lang.reflect.Method;

public class Methoder {

public static void main(String[] args) throws Exception {
long start = System.currentTimeMillis();
for (int i = 0; i < 100000; ++i) {
p1();
}
System.out.println(":" + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
for (int i = 0; i < 100000; ++i) {
p2();
}
System.out.println(":" + (System.currentTimeMillis() - start));
}

public static void p1() throws Exception {
Test t = new Test();
Class c = t.getClass();
Method m = c.getMethod("sayHello", new Class[0]);
m.invoke(t, new Object[0]);
}

public static void p2() throws Exception {
Test t = new Test();
t.sayHello();
}

}

class Test {
public void sayHello() {
// System.out.println("Test:");
int l = 0;
for (int i = 0; i < 1000; ++i) {
l += i;
}
}

// 以下方法为干扰用,但是两种调用方法都时间延长了点
public void sayHello1() {
}

public void sayHello2() {
}

public void sayHello3() {
}

public void sayHello4() {
}

public void sayHello5() {
}

public void sayHello6() {
}

public void sayHello7() {
}

public void sayHello8() {
}

public void sayHello9() {
}

public void sayHello10() {
}

public void sayHello11() {
}

public void sayHello12() {
}

public void sayHello13() {
}

public void sayHello14() {
}

public void sayHello15() {
}

public void sayHello16() {
}

public void sayHello17() {
}

public void sayHello18() {
}

public void sayHello19() {
}

public void sayHello20() {
}

public void sayHello21() {
}

public void sayHello22() {
}

public void sayHello23() {
}

public void sayHello24() {
}

public void sayHello25() {
}

public void sayHello26() {
}

public void sayHello27() {
}

public void sayHello28() {
}

public void sayHello29() {
}

public void sayHello30() {
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值