1 ,什么是java反射:是一种运行时机制,在运行过程中,能获取类的属性和方法,对于对象能调用任意的方法,动态获取的以及动态调用对象方法的功能称为java反射机制。getClass返回的类是java反射的源头,通过对象反射出类的名称,运行时.class被加载到内存,存在缓存区,运行时类只被加载一次
2 ,功能:
判定一个对象所属的类,构造一个类的对象,判断任意一个类所具有的成员变量和方法,调用任意一个对象的方法, 动态代理(静态代理:在编译时目标对象的类就确定了,不利于扩展)
3,实现
->class类对象的获取->class对象摘要信息->获取构造方法,属性,方法等->class对象动态生成->动态调用函数->获取泛型类型->获取注解信息
4,类加载器
引导类加载器:加载java类核心库,不能直接获取loader2.getParent
扩展类加载器:加jre/lib/exec/目录里的jar
系统类加载器(负责加载我们自己写的类)getClass.getClassLoader