bcel 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编译过程:

42011a08fa433d56908df4fc613fae66.gif

Java的Class文件结构:

052110c108851c663a352ae1a38d16c0.gif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值