图解动态代理

1.类图关系

  1. 目标类target和jdk动态代理生成的代理类 $Proxy0 都实现共同的接口interface,有接口方法method()
  2. Proxy类提供静态工厂方法 newProxyInstance()
  3. 代理类 $Proxy0 继承Proxy类,依赖InvocationHandler 执行处理器

图解动态代理

2.时序图

当用户调用接口方法method时,$Proxy0会委托给InvocationHandler的invoke方法,invoke方法中自实现的增强逻辑和对目标类的接口方法调用,最终会委托给目标类

图解动态代理