1. JDK动态代理只能代理接口,而CGLIB代理可以代理类。
  2. JDK动态代理是通过接口中的方法来生成代理类,而CGLIB代理则是通过继承被代理类来生成代理类。
  3. JDK动态代理的性能比CGLIB代理要好,因为JDK动态代理是基于反射实现的,而CGLIB代理是通过动态生成字节码实现的,生成代理类的过程比较耗时。
  4. JDK动态代理只能代理实现了接口的类,如果被代理的类没有实现任何接口,则无法使用JDK动态代理来代理;而CGLIB代理可以代理任何类,包括没有实现任何接口的类。
  5. JDK动态代理只能代理公共方法,而CGLIB代理可以代理所有方法,包括私有方法。

原文地址: https://www.cveoy.top/t/topic/boX5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录