java动态代理-作者-闫明
2019-01-29 17:21:55 0 举报
java动态代理时序图、类图
作者其他创作
大纲/内容
调用动态生成的代理类$Proxy0的doPay()方法
完成动态代理方法调用
执行目标对象方法前的代码逻辑
反射调用目标对象方法完成
1、绑定目标对象和自己写的代理对象
DynamicProxy(代理类)
执行目标对象方法后的代码逻辑
$Proxy0动态生成的代理类
$proxy0(InvocationHandler var1) doPay()Method m1;Method m2;Method 31;.......
Payment(目标接口)
3、调用构造函数生成真正的代理对象实例
ThirdPayment类
doPay()
动态代理执行顺序
new DynamicProxy()生成代理对象
返回真正的代理对象
Test
main方法
2、调用newProxyInstance生成真正的代理对象
执行目标对象方法
JDK 动态代理 时序图
PayProxy
bind(Object)invoke()
代理类和目标类绑定bind(Object target)绑定目标类
5、调用invoke()
Proxy
Proxy
InvocationHandler h;newInstance();动态生成真正的代理类实例;getProxyClass0;获得真正的代理类
public interface Payment { String doPay(String id);}
cons.newInstance(new Object[]{h})调用真正的代理类的构造函数生成真正代理类的实例对象
$Proxy (动态生成代理类)
InvocationHandler接口
invoke()
Payment接口
newPayment()生成目标对象
4、调用doPay()
0 条评论
下一页