Web上のActionで反射を使用するかどうかはあまり影響しません
詳細
反射呼び出しはWebプロセス全体で無視できるような気がしますよ.直接呼び出しとはかなり違いますが
私の機械(945マザーボード、Celeron D 3.06、1 Gメモリ、XPシステム)のテスト結果:
干渉メソッドを追加しない
:797
:109
干渉メソッドを追加した後
:812
:120
皆さんはテストをすることができます.コードは以下の通りです.
反射呼び出しはWebプロセス全体で無視できるような気がしますよ.直接呼び出しとはかなり違いますが
私の機械(945マザーボード、Celeron D 3.06、1 Gメモリ、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() {
}
}