java_反射

1 ,什么是java反射:是一种运行时机制,在运行过程中,能获取类的属性和方法,对于对象能调用任意的方法,动态获取的以及动态调用对象方法的功能称为java反射机制。getClass返回的类是java反射的源头,通过对象反射出类的名称,运行时.class被加载到内存,存在缓存区,运行时类只被加载一次

2 ,功能:

判定一个对象所属的类,构造一个类的对象,判断任意一个类所具有的成员变量和方法,调用任意一个对象的方法, 动态代理(静态代理:在编译时目标对象的类就确定了,不利于扩展)

3,实现

->class类对象的获取->class对象摘要信息->获取构造方法,属性,方法等->class对象动态生成->动态调用函数->获取泛型类型->获取注解信息

4,类加载器

引导类加载器:加载java类核心库,不能直接获取loader2.getParent

扩展类加载器:加jre/lib/exec/目录里的jar

系统类加载器(负责加载我们自己写的类)getClass.getClassLoader

https://juejin.im/entry/5823c669a22b9d0067fd536e

你可能感兴趣的:(java_反射)