乐趣区

关于java:Java常见问题

反射

1. 反射原理
1) 在运行期间动静获取内的所有属性及办法,并且可能动静调用对象办法及设置属性的性能称为反射机制

2)反射的实现次要借助 4 个类,Class、Constructor、Field、Method

3)个别步骤
Class.forname(“ 类名 ”) 获取 class 对象,会触发初始化,如果类没有加载过的话,还会触发类加载
获取结构器,通过 Constructor 的 newInstance 或者 class 的 newInstance 获取实例
getMethod 获取办法
调用 Method 的 invoke 办法执行

4)最次要的是办法的获取及调用
办法获取:有一个缓存 ReflectionData,是 SoftReference 的,如果内存不足,可能会被回收掉,如果缓存中能找到 method 则间接从缓存中获取,如果取不到,则再到 jvm 中去取

办法执行:

退出移动版