JDK动态代理只能对实现了接口的类生成代理,而不能针对类。
CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法。因为是继承,
所以该类或方法最好不要声明成final。
41.JDK动态代理和CGLIB动态代理的区别?
最新推荐文章于 2024-02-26 23:06:20 发布
本文深入探讨了Java动态代理机制,重点介绍了它如何只对实现了接口的类生成代理。同时,对比了CGLIB代理,它是通过创建目标类的子类来实现方法的覆盖,尤其适合未实现接口的类。由于使用继承,故应避免被代理类中的方法和类声明为final。了解这两种代理方式对于优化代码和提升性能至关重要。
摘要由CSDN通过智能技术生成