gpt4 book ai didi

java - javaassist 和 cglib 的区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:08:28 25 4
gpt4 key购买 nike

我在学习hibernate,我了解到hibernate已经停止使用cglib,转而使用javaassist。

我还了解到javaassist和cglib是用来生成代理的。

所以我想知道这两个是如何工作的,哪个更好?他们的工作方式有什么不同?

最佳答案

Cglib 不再积极维护,库的开发人员甚至不会应用提供的补丁:https://jaxenter.com/hibernate-to-deprecate-cglib-as-bytecode-provider-102106.html

此外,javassist 提供了一个用于修改类的 API,而不仅仅是对它们进行子类化。这些 API 还允许进行字节码级别的操作,而 cglib 只允许几个硬编码拦截。

最后,还有一点性能差异。有关概述,请参阅我创建的第三个字节码操作框架 Byte Buddy 上的此表:http://bytebuddy.net/#/tutorial

关于java - javaassist 和 cglib 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32412928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com