反射性能差,提高性能

反射:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制

为什么Java反射性能差?

java反射是要解析字节码,将内存中的对象进行解析,包括了一些动态类型,所以JVM无法对这些代码进行优化。因此,反射操作的效率要比那些非反射操作低得多!

提高反射性能的方式有哪些?

1. setAccessible(true),可以防止安全性检查(做这个很费时)

2. 做缓存,把要经常访问的元数据信息放入内存中,class.forName 太耗时

3 getMethods() 等方法尽量少用,尽量调用getMethod(name)指定方法的名称,减少遍历次数


你可能感兴趣的:(性能,反射,缓存)