文章目录
前言
一、静态代理的弊端
二、动态代理的优势
三、动态代理使用流程
1、目标对象接口
2、被代理对象
3、调用处理程序
4、客户端
四、动态生成 代理对象 类 的 字节码 文件数据
前言
代理模式结构...----
动态代理 解决了 静态代理的上述问题 , 不需要手动创建代理对象 , 由 Java 虚拟机实现 代理对象 , 该代理对象自动实现 主题对象 的接口 ;
动态代理执行时 , 动态地创建了字节码文件..., 生成了代理类 ;
三、动态代理使用流程
----
动态代理使用流程 :
① 创建目标对象 : 创建 目标对象 接口 ;
② 创建被代理对象 : 创建 被代理对象 , 实现 目标对象 接口...;
③ 创建调用处理程序 : 创建 InvocationHandler 子类对象 , 内部持有 被代理对象 , 在 invoke 方法中 , 返回 method.invoke(subject, args...) ;
④ 动态创建代理对象 : 调用 Proxy.newProxyInstance 创建 代理对象 实例对象 , 由 JVM 自动创建代理对象类 , 然后再创建对应的实例对象 ;
⑤ 动态代理调用