`
xiemingmei
  • 浏览: 210509 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java字节码操作框架集合

阅读更多
(1) ObjectWeb ASM轻量级的Java字节码处理框架。它可以动态生成二进制格式的stub类或其他代理类,或者在类被JAVA虚拟机装入内存之前,动态修改类。ASM 提供了与 BCEL和SERP相似的功能,只有22K的大小,比起350K的BCEL和150K的SERP来说,是相当小巧的,并且它有更高的执行效率,是BCEL的7倍,SERP的11倍以上。
该项目主页:http://asm.objectweb.org/

(2) cglib是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。Hibernate用它来实现PO字节码的动态生成。
该项目主页:http://cglib.sourceforge.net/

(3)Byte Code Engineering Library (BCEL),这是Apache Software Foundation 的Jakarta 项目的一部分。BCEL是 Java classworking 最广泛使用的一种框架,它可以让您深入 JVM 汇编语言进行类操作的细节。BCEL与Javassist 有不同的处理字节码方法,BCEL在实际的JVM 指令层次上进行操作(BCEL拥有丰富的JVM 指令级支持)而Javassist 所强调的源代码级别的工作。
该项目主页:http://jakarta.apache.org/bcel/

(4)SERP字节码框架提供一组高级的APIs进行字节码各主方面的操作。SERP字节码框架能够使你不需要明白class文件格式与JVM 指令就可以轻松完成bytecode 操作
该项目主页:http://serp.sourceforge.net

(5)Javassist是一个开源的分析、编辑和创建Java字节码的类库。是由东京技术学院的数学和计算机科学系的 Shigeru Chiba 所创建的。它已加入了开放源代码JBoss 应用服务器项目,通过使用Javassist对字节码操作为JBoss实现动态AOP框架。
该项目主页:http://www.csg.is.titech.ac.jp/~chiba/javassist/
实际例子,可参考http://yonglin4605.iteye.com/blog/1396494






分享到:
评论

相关推荐

    Java字节码操纵框架 asm-3.1组件包大集合

    ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class ...

    Java 字节码概述

    Java 字节码的执行是由 JVM 负责的,它将字节码翻译成机器代码,并执行相应的操作。 Java 字节码的特征包括: * 一 byte 一操作码(opcode) * 指令字节对齐,除了 tableswitch 和 lookupswitch 是字对齐的 * “有...

    该项目主要是JAVA字节码的学习项目.zip

    3. **字节码指令集**:Java字节码指令集包括许多单字节或双字节的指令,如`aload_0`(加载局部变量0到操作数栈)、`iconst_1`(将整数1压入操作数栈)等。这些指令控制程序的流程,进行数据处理。 4. **字节码优化*...

    Java字节码(.class文件)格式详解((转载)

    Java字节码文件由多个部分组成,包括魔数、版本号、常量池、访问标志、类和父类索引、接口索引集合、字段表集合、方法表集合以及属性表集合。 - **魔数**:标识文件是否为合法的Java字节码文件。 - **版本号**:...

    Java虚拟机字节码.zip

    1. **ASM框架**: ASM是一个Java字节码操控和分析框架,常用于动态代理、AOP(面向切面编程)和代码生成。通过ASM,程序员可以直接操作字节码,生成和转换Java类。ASM提供了一套详细的API,允许开发人员在字节码级别...

    ASM 字节码修改工具中文帮助手册

    - **目标**: 提供一套全面的工具集合,用于操作 Java 字节码,支持分析、生成和转换等功能。 - **核心能力**: - 分析已有的 Java 类文件。 - 动态生成新的 Java 类。 - 修改现有的 Java 类。 #### 4. 架构与组织...

    teavm,java字节码到javascript的编译.zip

    Teavm是一个开源项目,它的主要目标是将Java字节码直接编译成JavaScript,使得开发者可以使用Java语言编写Web应用程序,而无需依赖传统的Java虚拟机(JVM)。这个项目对于那些希望利用Java丰富的库和工具生态系统...

    java 反编译工具集合

    Procyon是另一个强大的Java反编译器,它不仅能够反编译Java字节码,还能处理Java的字节码注解和Java 5及更高版本的语法。Procyon提供了一个命令行工具,可以用于批量处理反编译任务,并且可以与IDE集成,如Eclipse或...

    JAVA泛型与集合框架.ppt

    Java的泛型在运行时是通过类型擦除实现的,这意味着在编译后的字节码中,所有的泛型信息都会被替换为Object,但编译器会在编译时进行类型检查。 10. **通配符**: 泛型中可以使用通配符如`?`来表示任意类型,但...

    ASMTools:Java 字节码相关工具的集合。 不适合严重使用

    ASM是一个强大的、低级别的Java字节码框架,它允许开发者动态生成和修改类和方法。ASMTools就是基于ASM框架提供的一系列工具,用于帮助开发者对字节码进行调试、分析和实验。然而,"不适合认真使用"的描述可能意味着...

    30种java技术框架图

    Java 虚拟机 (JVM) 是运行 Java 字节码的虚拟执行环境。JVM 架构包括: - **类加载器子系统**:负责加载和验证 Java 类。 - **运行时数据区**:包括方法区、堆、栈等区域。 - **执行引擎**:解释和执行字节码。 - **...

    JAVA运行器JDK操作包

    5. **Java类库**:JDK包含了丰富的Java标准类库,如java.lang、java.io、java.nio、java.util、java.net等,为开发者提供了大量预先定义好的功能,如字符串处理、集合框架、网络通信等。 6. **平台兼容性**:JDK的...

    30种java技术框架

    JVM(Java Virtual Machine,Java虚拟机)是执行Java字节码的虚拟机,它提供了一个独立于硬件的抽象计算机环境。JVM主要由类加载子系统、运行时数据区、执行引擎和本地接口等组成。其中,运行时数据区包括方法区、堆...

    字节大佬总结的Java面试资料.pdf

    Java虚拟机(Java Virtual Machine,JVM)是Java平台的核心组件,它负责将Java字节码转换为机器码并执行。JVM包括以下几个部分: * 程序计数器(PC Register):每个线程都有一个程序计数器,用于记录当前执行的...

    基于java实现JdonFramework开源框架 v5.1源码

    Java程序由Java源代码编写,经过编译后生成Java字节码文件,然后在Java虚拟机上运行。 Java程序通常包括一个或多个类,每个类都包含了属性和方法。Java程序的入口点是一个特殊的类,它包含了一个名为main的方法,这...

    java 核心知识 包含 JVM 线程 集合 数据库 算法 负载等一系列

    JVM是Java程序运行的基石,它负责解析字节码并执行。理解JVM的工作原理,包括类加载机制、内存管理(堆、栈、方法区等)、垃圾收集(GC)策略以及性能优化,对于提升Java程序的效率至关重要。了解JVM调优技巧,如...

    JVM_多线程高并发_集合框架_数据库 BAT面试金典常见80问.pdf

    - **验证**:验证阶段确保类文件的合法性,包括文件格式、元数据、字节码和符号引用的验证,以保证安全性和正确性。 - **准备**:为类的静态变量分配内存并初始化为默认值,实例变量在对象实例化时分配。 - **...

Global site tag (gtag.js) - Google Analytics