jdk和cglib动态代理区别

  1. 目标类不同

    jdk目标类需要实现接口。

    cglib不需要。

  2. 代理类生成方式不同

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

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

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

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

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

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

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

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

相关推荐
一定要AK3 小时前
Spring 入门核心笔记
java·笔记·spring
A__tao3 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
KevinCyao4 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
lly2024064 小时前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨4 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9994 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4944 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
功德+n4 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨4 小时前
python扫码登录dy
开发语言·python
我是唐青枫4 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net