不过前面的静态代理部分的代理对象和被代理对象的关系有些错误,以及最后的动态代理涉及method和返回值那部分的写法有些问题
> 在上面这段代码中,我们实现了一个简单的代理。这里的代理类是Friend,被代理类是Self,通过这段代码,我们知道了一个基本事实:代理对象是真正去执行动作的对象,被代理对象是被动执行动作的对象(并不真正执行动作)。
```
methodSpecBuilder.addStatement("$T method = getClass().getMethod($S, $N)", Method.class, method.getName(), argTypes);
```
```
methodSpecBuilder.nextControlFlow("catch ($T e)", Exception.class)
.addStatement("e.printStackTrace()")
.addStatement("return ($T) null", TypeName.get(returnType).box())
.endControlFlow();
```
10分钟看懂动态代理设计模式(升级篇)关于动态代理,我之前写过一篇文章《10分钟看懂动态代理设计模式》。在这篇文章中,我收到了一些关于动态代理的提问,也有同学在微信公众号给我私信,询问关于动态代理的问题。再次Re...
写得太棒了!
10分钟看懂动态代理设计模式(升级篇)关于动态代理,我之前写过一篇文章《10分钟看懂动态代理设计模式》。在这篇文章中,我收到了一些关于动态代理的提问,也有同学在微信公众号给我私信,询问关于动态代理的问题。再次Re...
关于动态代理,我之前写过一篇文章《10分钟看懂动态代理设计模式》。在这篇文章中,我收到了一些关于动态代理的提问,也有同学在微信公众号给我私信,询问关于动态代理的问题。再次Re...