动态代理

特征:字节码随用随创建,随用随加载。

作用:不修改源代码的基础上对被代理类的方法增强

分类:

    1、基于接口的动态代理

        (1)涉及类:Proxy

        (2)如何创建代理对象:Proxy类中的newProxyInstance

        (3)最低要求:被代理类最少创建一个接口

  newProxyInstance(被代理类的类加载器,被代理类的字节码,new  InvocationHandler的匿名类或实现类)

InvocationHandler的匿名类或实现类重写invoke方法对被代理方法增强,执行被代理对象的任何接口方法时都被经过invoke方法

    2、基于子类的动态代理

        (1)涉及类:Enhancer

        (1)如何创建代理对象:Enhancer类中的create方法

        (1)最低要求:被代理类不能是最终类,就是必须有子类

create(被代理对象的字节码,Callback的子类或实现类)

参数二一般采用 MethodInterceptor这个实现类

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容