cglib和javaassist的工作区别
答案 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使用注释和特定领域语言来实现其雄心壮志。