💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
``` Aop ``` ### 什么是动态代理 ``` 1. 代理对象不需要实现接口 2. 代理对象的生成是利用JDK的API,动态在内存中构建代理对象 3. 动态代理也叫JDK代理,接口代理 ``` ``` 原理 根据类加载器和接口创建代理类 实现方式 1. 通过实现InvocationHandler接口创建自己的调用处理器 2. 通过Proxy类指定ClassLoader对象和一组interface创建动态代理类 3. 通过反射机制获取动态代理类的构造函数 4. 通过构造函数创建动态代理类实例 缺点 Jdk动态代理,必须面向接口,目标业务类必须实现接口 ``` ### 什么是CGLIB ``` 原理 利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类类处理 不要求业务类必须实现接口,底层采用asm字节码生成框架生成代理类的字节码 ```