反射
在编译期不用知道对象的类型,运行期通过包名.类名动态加载具体对象
在运行期可以访问对象的构造函数,字段,方法
反射特点是在运行期动态识别类,运行期动态调用类的方法
反射机制可以在运行期,获取类的。
构造类对象
获取类明,方法,属性,构造函数,并进行动态生成实例对象,对方法,属性进行调用,赋值
主要运用在框架里,提高框架的通用性 运行期才知道类的实际类型
动态代理
为其他对象提供一种代理(中间对象),以控制对这个对象的调用,主要用于RPC调用,调用对象与被调用对象之间不能直接访问时,可以通过中间对象(代理对象进行访问)还可以在代理对象对调用方法增强加入公共业务逻辑片段,实现业务的无侵入
实现3要点
1.抽象类
2.实现抽象类的被代理类
3.代理类,实际调用被代理类方法和属性的类
有两种实现:
1.JDK动态代理实现
2.生成字节码实现,ASM CGLIB