代理模式

代理模式分为两种:静态代理、动态代理

静态代理:程序在编译过程中,根据相关的信息生成相应的.class文件。

动态代理:在程序运行过程中,根据提出的相关要求生成相应的.class文件,并把.class文件加载到JVM中。

    动态代理又分成两种:JDK动态代理和cglib动态代理:

            JDK动态代理:基于反射机制+动态生成字节码(反射生成的效率高);proxy类和invocationhandler拦截器。利用拦截器拦截对象,然后实现这个对象所以的接口,并替代对象进行实际操作。局限性:目标类必须基于统一的接口。

            cglib动态代理:基于asm,然后后期的执行效率非常高。

posted @ 2021-10-06 20:14  bit01  阅读(24)  评论(0编辑  收藏  举报