jdk和cglib动态代理区别

  1. 目标类不同

    jdk目标类需要实现接口。

    cglib不需要。

  2. 代理类生成方式不同

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

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

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

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

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

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

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

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

相关推荐
真实的菜1 分钟前
消息队列处理模式:流式与批处理的艺术
java
Bruce_Liuxiaowei2 分钟前
PHP文件包含漏洞详解:原理、利用与防御
开发语言·网络安全·php·文件包含
泽020212 分钟前
C++之STL--list
开发语言·c++·list
YGGP15 分钟前
吃透 Golang 基础:数据结构之 Map
开发语言·数据结构·golang
盖世英雄酱5813616 分钟前
Java 内存管理技巧(新手必看集合篇)
java
~plus~17 分钟前
Harmony核心:动态方法修补与.NET游戏Mod开发
开发语言·jvm·经验分享·后端·程序人生·c#
码农小灰19 分钟前
Java 8 Stream API 入门到实践详解
java·java案例
步、步、为营24 分钟前
.NET 事件模式举例介绍
java·开发语言·.net
cui_hao_nan27 分钟前
设计模式——模板方法
java·设计模式
~plus~27 分钟前
WPF八大法则:告别模态窗口卡顿
开发语言·经验分享·后端·程序人生·c#