在前面的一些例子中,已经用到了javassist的一些功能,这里再补充一些,有些是从网上考来,有些例子自己写写。
javassist和ASM很像,我没有很深的接触过ASM,只看过简单的例子,但是已经感觉很复杂了,要和字节码打交道,可不是好玩的事情。
javassist和 asm都是动态创建、修改字节码的类库。我感觉主要区别是:
-
asm的性能要好一些。
-
javassist的主要优势是学习成本低,可以根据java源代码生成字节码,而不必直接和字节码打交道。
又有些简单的例子,是以前学习时写的,可以参考一下:
http://qyongkang.iteye.com/admin/blogs/963583
http://qyongkang.iteye.com/admin/blogs/963642
http://qyongkang.iteye.com/admin/blogs/977964
http://www.ibm.com/developerworks/cn/java/j-dyn0916/