探索Spring

JDK代理与CGLib代理的区别

2019-02-13  本文已影响5人  Real_man

Spring的AOP动态代理有两种实现方式,那么这两种代理方式有什么区别呢?

区别

实现上,如果类是接口的时候或者类是JDK创建的proxy类时使用的是JDK的,否则使用CGLib代理。

img

性能上:JDK代理需要JVM底层上进行方法的分发,而CGLib运行创建特定的字节码来改善性能,这是别人做的性能对比。

image.png

看上去CGLib会更快一点呢

参考

上一篇 下一篇

猜你喜欢

热点阅读