java字节码开源软件
2016-06-13 00:00
471 查看
asm:ASM 是一个 Java 字节码操纵框架。它可以直接以二进制形式动态地生成 stub 类或其他代理类,或者在装载时动态地修改类。ASM 提供类似于 BCEL 之类的工具包的功能,但是被设计得更小巧、更快速,这使它适用于实时代码插装。spring实现aop底层依赖cglib,cglib依赖asm。
bcel:Byte Code Engineering Library (BCEL),这是Apache Software Foundation 的Jakarta 项目的一部分。BCEL是 Java classworking 最广泛使用的一种框架,它可以让您深入 JVM 汇编语言进行类操作的细节。BCEL与Javassist 有不同的处理字节码方法,BCEL在实际的JVM 指令层次上进行操作(BCEL拥有丰富的JVM 指令级支持)而Javassist 所强调的源代码级别的工作。
javassit:Javassist是一个开源的分析、编辑和创建Java字节码的类库。是由东京工业大学的数学和计算机科学系的 Shigeru Chiba (千叶 滋)所创建的。它已加入了开放源代码JBoss 应用服务器项目,通过使用Javassist对字节码操作为JBoss实现动态"AOP"框架。 关于java字节码的处理,目前有很多工具,如bcel,asm。不过这些都需要直接跟虚拟机指令打交道。如果你不想了解虚拟机指令,可以采用javassist。javassist是jboss的一个子项目,其主要的优点,在于简单,而且快速。直接使用java编码的形式,而不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成类。
cglib:CGLib (Code Generation Library) 是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。Hibernate用它来实现PO字节码的动态生成。CGLib 比 Java 的 java.lang.reflect.Proxy 类更强的在于它不仅可以接管接口类的方法,还可以接管普通类的方法。 CGLib 的底层是Java字节码操作框架 —— ASM。
bcel:Byte Code Engineering Library (BCEL),这是Apache Software Foundation 的Jakarta 项目的一部分。BCEL是 Java classworking 最广泛使用的一种框架,它可以让您深入 JVM 汇编语言进行类操作的细节。BCEL与Javassist 有不同的处理字节码方法,BCEL在实际的JVM 指令层次上进行操作(BCEL拥有丰富的JVM 指令级支持)而Javassist 所强调的源代码级别的工作。
javassit:Javassist是一个开源的分析、编辑和创建Java字节码的类库。是由东京工业大学的数学和计算机科学系的 Shigeru Chiba (千叶 滋)所创建的。它已加入了开放源代码JBoss 应用服务器项目,通过使用Javassist对字节码操作为JBoss实现动态"AOP"框架。 关于java字节码的处理,目前有很多工具,如bcel,asm。不过这些都需要直接跟虚拟机指令打交道。如果你不想了解虚拟机指令,可以采用javassist。javassist是jboss的一个子项目,其主要的优点,在于简单,而且快速。直接使用java编码的形式,而不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成类。
cglib:CGLib (Code Generation Library) 是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。Hibernate用它来实现PO字节码的动态生成。CGLib 比 Java 的 java.lang.reflect.Proxy 类更强的在于它不仅可以接管接口类的方法,还可以接管普通类的方法。 CGLib 的底层是Java字节码操作框架 —— ASM。
相关文章推荐
- JDK动态代理VS CgLib
- 探索ORACLE之ASM概念(完整版)
- Java 将字符串动态生成字节码的实现方法
- java动态代理和cglib动态代理示例分享
- oracle中fdisk导致的ASM磁盘数据丢失的解决方法
- Java字节码指令集的使用详细
- 通过java字节码分析学习对象初始化顺序
- java动态代理(jdk与cglib)详细解析
- 深入Python解释器理解Python中的字节码
- 淘宝Tprofiler工具实现分析
- 关于String与StringBuilder的提问与总结
- CGLIB代理就这么简单
- 通过Java字节码发现有趣的内幕之初始化篇(三)
- java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
- GCC内联汇编(1)Get started
- GCC内嵌汇编
- 利用OllyDbg进行源码级调试(Win32汇编语言)
- 访问 CR4寄存器
- 如何在Android中使用汇编语言
- ASM 详解