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

上一篇:Spring Java配置,@ Autowire与构造函数注入,@ Transaction和CGLIB


下一篇:Spring mvc mybatis cxf Add CGLIB to your classpath. 错误