CGLIB 和 JDK ,哪个更快?

参考答案

CGLIB 与 JDK 对比哪个更快,不同的 jdk 版本,会有差异,以下详解。

  • 使用 CGLIB 实现动态代理, CGLIB 底层采用 ASM 字节码生成框架,使用字节码技术生成代理类, 在 jdk6 之前,比使用 Java 反射效率要高。但要注意,由于CGLIB 原理是动态生成被代理类的子类, CGLIB 不能对声明为 final 的方法进行代理 。
  • 从jdk6、jdk7 到 jdk8 ,在迭代过程中,逐步对 JDK 动态代理进行了优化。在调用次数较少的情况下,JDK 代理效率高于 CGLIB 代理效率。只有当进行大量调用的时候,jdk6 和 jdk7 比 CGLIB 代理效率低一点,但是到 jdk8 的时候,jdk 代理效率高于 CGLIB 代理。总之,每一次 jdk 版本升级,jdk 代理效率都得到提升,而 CGLIB 代理消息,已经有些跟不上步伐了。

 

以上,是Java面试题【CGLIB 和 JDK ,哪个更快?】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

👇阅读作者更多技术干货👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧