代理模式

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

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

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

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

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

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

上一篇:SpringAOP[3]-Cglib代理流程分析


下一篇:这才是Springboot事务创建流程的正确打开方式(附源码分析)