6 回答

慕少森
TA貢獻2019條經(jīng)驗 獲得超9個贊
說了半天,都沒有人提到"setAccessible(true)"...樓上的各位不是資深java程序員吧?
edit:
實話地告訴你,JDK1.6之后,對于method/field/constructor的invoke這類的反射,除了"setAccessible(true)"之外,再無須其它任何優(yōu)化, 完爆以前cglib的fastmethod之流
當(dāng)然了,將得到的method/field/constructor對象做緩存這是基本的
07-31 edit:
忘了補充一句:
如果你在jdk6上跑,且如果你反射的目標(biāo)方法是getter/setter methods的話,記得加上配置:-XX:-UseFastEmptyMethods -XX:-UseFastAccessorMethods , 這兩個配置的關(guān)閉是為了讓accessor methods能夠被jit; jdk7以上不需要設(shè)置這兩個配置
添加回答
舉報
0/150
提交
取消