spring源码分析,重新认识spring四(回顾下上篇的问题,以及从spring 的常用模式开始)

      

思考:为什么 jdk 的动态代理不能实现 不继承 proxy 类,像cglib 一样继承 被代理类,不行吗, 不是可以达到 既可以 接口接受 又可以实现类接受。

同样 cglib 也是,为什么不能既实现类的代理又实现接口的代理,

 针对这个问题,研究了下,得出结论,java 其实 也是可以去实现 类的代理,毕竟就是动态修改字节码,但是 java没有去实现,原因是 因为java 的 思想,面向接口编程,所以只提供了 接口的代理,而 cglib 也是可以去实现 接口的代理的,但是他也没有实现,是因为不需要重复造轮子,cglib 是在 ioc 概念提出来以后才出的,算是对 接口的代理的 一种补充吧。


那么 jdk 动态代理和 cglib 创建的代理类 有什么区别,性能相比如何?

性能上来说, jdk 6,cglib 比较好,但是 随着jdk 的 更新, jdk 7.jdk 8,jdk 比 cglib 性能要强

你可能感兴趣的:(spring源码分析)