哪一个使用cglib或javaassist

时间:2015-09-08 07:30:26

标签: java hibernate bytecode javassist cglib

cglib和javaassist的工作区别

  1. cglib是否创建代理运行时?
  2. javaassist如何创建代理?
  3. 什么是字节码检测?
  4. hibernate如何使用这些库?

2 个答案:

答案 0 :(得分:1)

最好的字节码操作库是 ASM http://asm.ow2.org/)。理解起来非常快速和简单。

答案 1 :(得分:1)

Byte Buddy是一个代码生成库,用于在Java应用程序的运行时创建Java类,而无需编译器的帮助。除了代码生成实用程序之外,它还允许创建任意类,并且不限于实现用于创建运行时代理的接口。

Byte Buddy是cglib和javaassist的不错选择。看看Byte Buddy,cglib,javaassist和jdkproxy中的Benchmarking various alternatives

关于同样的事情,请看SE question

关于您的查询:

字节码仪器:(来自cs.helsinki

  

字节码检测是一个过程,通过在虚拟机加载类之前修改一组类的字节码,将新功能添加到程序中:

cglib和javassist都是早期创建的,它们的API是围绕Java最近提供的语言功能构建的。

注释是在这些库开始之后引入的重要创新。

Byte Buddy使用注释和特定领域语言来实现其雄心壮志。