JDK 动态代理和 CGLIB 代理有什么区别?

提问者:帅平 问题分类:面试刷题

JDK 动态代理和 CGLIB 代理有什么区别?

1 个回答
Rae
Rae 管理员

JDK 动态代理时业务类「必须要实现某个接口」,它是「基于反射的机制实现的」,生成一个实现同样接口的一个代理类,然后通过重写方法的方式,实现对代码的增强。

CGLIB 动态代理是使用字节码处理框架 ASM,其原理是通过字节码技术为一个类「创建子类,然后重写父类的方法」,实现对代码的增强。

发布于:2个月前 (10-20)
我来回答