好读书不求甚解

一.动态代理
     动态代理:在运行时生成代理类的方式称为动态代理
     应用场景:给某一个类增加权限,日志,或者额外功能扩展等
     优点:解耦,灵活,扩展性强
    1. 动态代理实现步骤
       a. 定义接口
       b. 实现InvocationHandler
       c. 接口 object=Proxy.newInstance()
       d. object.方法()--->InvocationHandler->invoke();
    
   2. 动态代理原理
      a. Proxy.getProxyClass0()生成代理类ProxyClass文件
      b. Proxy.ProxyClassFactory.apply()-->ProxyGenerator.generateProxyClass()生成类的字节数据->Proxy.defineClass0(native方法生成代理class)
      c. ProxyClass.getConstructor();获取一个代理类的构造函数
      d. 构造函数.newInstance()通过构造函数生成一个代理类的对象

具体代码如下图:

Java 动态代理小结

Java 动态代理小结

 

相关文章:

  • 2022-01-20
  • 2021-12-26
  • 2021-12-02
  • 2021-08-22
  • 2022-12-23
  • 2021-12-03
  • 2022-01-20
  • 2021-06-28
猜你喜欢
  • 2021-11-13
  • 2021-08-28
  • 2021-08-26
  • 2021-09-17
相关资源
相似解决方案