往期推荐
需要相关资料的朋友,可以【加入此处即可打包获取】
动态代理的目的就是为了解决静态代理的缺点,通过使用动态代理,在运行时动态生成一个持有RealObject,并实现代理接口的Proxy,同时注入相同的扩展逻辑。即使你要代理的RealObject是不同的对象,代理不同的方法,都可以通过动态代理来扩展功能。
动态代理与静态代理相比较,最大的好处是接口中声明的所有方法都被转移到调用处理器一个集中的方法中进行处理(InvocationHandlerinvoke)。在接口方法数量比较多的时候,可以进行灵活处理,而不需要像静态代理那样每一个方法进行中转。而且动态代理的应用使类职责更加单一复用性更强。
一: 动态代理的核心
动态代理的核心就是代理对象的生成,其核心代码需要三个参数。
ClassLoad