jdk和cglib动态代理区别

  1. 目标类不同

    jdk目标类需要实现接口。

    cglib不需要。

  2. 代理类生成方式不同

    jdk内部字节码生成代理类。

    cglib使用ASM字节码生成库生成代理类。

  3. 代理类和目标类关系不同

    jdk代理类实现目标类接口,jdk无法代理目标类中static或private的方法。

    cglib 代理类继承目标类重写目标类方法,cglib无法代理final修饰的目标对象或方法。

  4. 调用目标方法方式不同

    jdk通过反射调用目标类方法。

    cglib 通过子类调用父类方式调用。

相关推荐
留白_4 小时前
pandas文件读取与存储
开发语言·python·pandas
夕除4 小时前
AOP 实现 Redis 缓存切面解析
java·开发语言·python
库拉大叔4 小时前
工具调用效率对比实测:GPT-5.5与Gemini 3.5 Flash性能评估
java·前端·人工智能
我是唐青枫4 小时前
Java MyBatis 实战指南:XML 映射、动态 SQL 与数据访问层设计
java·mybatis
摇滚侠4 小时前
Spring 零基础入门到进阶 面向切面 AOP 52-60
java·后端·spring
feifeigo1234 小时前
马尔可夫决策过程(MDP)MATLAB 实现
开发语言·matlab
就改了4 小时前
微服务接口性能优化:CompletableFuture 并行聚合实践
java·微服务·性能优化
攻城狮Soar4 小时前
STL源码解析之list(1)
开发语言·c++
x***r1514 小时前
Postman-win64-7.3.5-Setup安装配置教程(Windows 详细版)
开发语言·lua
林森lsjs4 小时前
【日耕一题】4. 较为复杂情况下的求和
java·开发语言