javaassist和cglib之间的区别
我正在学习hibernate,我知道hibernate已经停止使用cglib,转而使用javaassist 我还了解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只允许几个硬编码的截取 最后,还有一个小的性能差异。有关概述,请参阅我创建的第三
他们的工作方式有什么不同?Cglib不再积极维护,库的开发人员甚至不会应用提供的补丁: 此外,javassist提供了一个API来修改类,而不仅仅是对它们进行子类化。这些API还允许字节码级别的操作,而cglib只允许几个硬编码的截取
最后,还有一个小的性能差异。有关概述,请参阅我创建的第三个字节码操作框架byte Buddy的下表:有一些较新版本的CGLIB,SpringBoot 1.5版也使用CGLIB。这些版本正在应用补丁,允许CGLIB在较新的JVM上运行,这需要进行大量的修改,但没有添加任何功能或更改API。例如,由于这个原因,它目前不能在Java13上工作。