反射與set效率對(duì)比

反射與set效率對(duì)比


public class Test7 {

? ? public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {

? ? ? ? A a= new A();

? ? ? ? long start= System.currentTimeMillis();

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

? ? ? ? ? ? setval1(a);

}

? ? ? ? System.out.println("耗時(shí)"+(System.currentTimeMillis()-start));

}

? ? //50000 平均50ms 1000000 159ms? 100000000 8856ms

? ? private static void setval1(A a) throws NoSuchFieldException, IllegalAccessException {

? ? ? ? Field field= A.class.getDeclaredField("a");

? ? ? ? field.setAccessible(false);

? ? ? ? field.set(a,"1");

}

? ? //50000 2ms? 1000000 5ms? 100000000 13ms

? ? private static void setval2(A a) throws NoSuchFieldException, IllegalAccessException {

? ? ? a.setA("1");

}

}

class A {

? ? String a;

? ? public String getA() {

? ? ? ? return a;

}

? ? public void setA(String a) {

? ? ? ? this.a = a;

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容