编程语言
首页 > 编程语言> > javaassist和cglib之间的区别

javaassist和cglib之间的区别

作者:互联网

我学习了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

标签:javassist,java,hibernate,proxy,cglib
来源: https://codeday.me/bug/20190829/1763491.html