Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javaassist和cglib之间的区别_Java_Hibernate_Proxy_Javassist_Cglib - Fatal编程技术网

javaassist和cglib之间的区别

javaassist和cglib之间的区别,java,hibernate,proxy,javassist,cglib,Java,Hibernate,Proxy,Javassist,Cglib,我正在学习hibernate,我知道hibernate已经停止使用cglib,转而使用javaassist 我还了解javaassist和cglib用于代理生成 所以我想知道这两个是如何工作的,哪一个更好? 他们的工作方式有什么不同?Cglib不再积极维护,库的开发人员甚至不会应用提供的补丁: 此外,javassist提供了一个API来修改类,而不仅仅是对它们进行子类化。这些API还允许字节码级别的操作,而cglib只允许几个硬编码的截取 最后,还有一个小的性能差异。有关概述,请参阅我创建的第三

我正在学习hibernate,我知道hibernate已经停止使用cglib,转而使用javaassist

我还了解javaassist和cglib用于代理生成

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

Cglib不再积极维护,库的开发人员甚至不会应用提供的补丁:

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


最后,还有一个小的性能差异。有关概述,请参阅我创建的第三个字节码操作框架byte Buddy的下表:

有一些较新版本的CGLIB,SpringBoot 1.5版也使用CGLIB。这些版本正在应用补丁,允许CGLIB在较新的JVM上运行,这需要进行大量的修改,但没有添加任何功能或更改API。例如,由于这个原因,它目前不能在Java13上工作。