Java 选择哪个库在运行时生成类

Java 选择哪个库在运行时生成类,java,proxy,bytecode,javassist,cglib,Java,Proxy,Bytecode,Javassist,Cglib,我需要在运行时扩展类,特别是检测对类状态所做的更改。如果可能的话,我希望能够通过截取字段分配来检测更改,如果不截取setter就可以了。我应该使用哪个图书馆?为什么?javassist或cglib或?使用java.lang.reflect.Proxy是否可以实现这一点?你能比较一下这些库吗? 谢谢。要拦截接口中定义的setter,可以使用代理 要拦截方法调用,可以使用类似AspectJ的AOP 然而,为了捕获字段分配,我将使用诸如ASM、BCEL、cglib或javassist之类的字节码库。我

我需要在运行时扩展类,特别是检测对类状态所做的更改。如果可能的话,我希望能够通过截取字段分配来检测更改,如果不截取setter就可以了。我应该使用哪个图书馆?为什么?javassist或cglib或?使用java.lang.reflect.Proxy是否可以实现这一点?你能比较一下这些库吗?
谢谢。

要拦截接口中定义的setter,可以使用代理

要拦截方法调用,可以使用类似AspectJ的AOP


然而,为了捕获字段分配,我将使用诸如ASM、BCEL、cglib或javassist之类的字节码库。我更喜欢ASM,它速度快,并且有一些工具使编写字节码更容易。

您也可以使用AsspectJ截取字段分配
before(inti):set(intfoo.x)和&args(i){…}