BCEL JAVA字节码操作库

程序名称:BCEL

授权协议: Apache

操作系统: 跨平台

开发语言: Java

BCEL 介绍

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

使用示例代码:

JavaClass clazz = Repository.lookupClass("java.lang.String");  
  System.out.println(clazz);  
  printCode(clazz.getMethods());  
  ...  
  public static void printCode(Method[] methods) {  
    for(int i=0; i < methods.length; i++) {  
      System.out.println(methods[i]);

      Code code = methods[i].getCode();  
      if(code != null) // Non-abstract method  
        System.out.println(code);  
    }  
  }

Java编译过程:

Java的Class文件结构:

BCEL 官网

http://jakarta.apache.org/bcel/

相关编程语言

BlazeDS 是一个基于服务器的Java 远程控制(remoting...
OVal 是一个可扩展的Java对象数据验证框架,验证的规...
Volta 是一套开发工具,专为开发分布式、实时系统应...
OpenDDS 是一个开源的 C++ 实现的 对象管理组织 OMG...
JADE (Java Agent DEvelopment Framework) 是一个完...
FastMM ,在D2006和2007中已代替了原来的内存管理器。