怎样提高反射的效率?
6 回答
慕少森
TA贡献2019条经验 获得超9个赞
说了半天,都没有人提到"setAccessible(true)"...楼上的各位不是资深java程序员吧?
edit:
实话地告诉你,JDK1.6之后,对于method/field/constructor的invoke这类的反射,除了"setAccessible(true)"之外,再无须其它任何优化, 完爆以前cglib的fastmethod之流
当然了,将得到的method/field/constructor对象做缓存这是基本的
07-31 edit:
忘了补充一句:
如果你在jdk6上跑,且如果你反射的目标方法是getter/setter methods的话,记得加上配置:-XX:-UseFastEmptyMethods -XX:-UseFastAccessorMethods , 这两个配置的关闭是为了让accessor methods能够被jit; jdk7以上不需要设置这两个配置
添加回答
举报
0/150
提交
取消