BCEL JAVA字节码操作库

Apache
Java
跨平台
Apache
2010-01-11
欧德高

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文件结构:

加载中

评论(1)

叫我刀刀
叫我刀刀
这个能做干什么? #BCEL#

暂无资讯

暂无问答

java字节码开源软件

asm:ASM 是一个 Java 字节码操纵框架。它可以直接以二进制形式动态地生成 stub 类或其他代理类,或者在装载时动态地修改类。ASM 提供类似于 BCEL 之类的工具包的功能,但是被设计得更小巧、更...

2016/06/13 22:18
138
0
Java Apache 开源项目简介

这篇主要简单介绍一下Java Apache Commons以及一些开源项目,后续我会陆续讲解一下自己了解的Java BCEL项目

2014/08/01 11:29
293
0
Tomcat报错Invalid byte tag in constant pool: 60

问题: 信息: Deploying web application directory /opt/tomcat/webapps/ROOT 一月 05, 2016 3:29:29 下午 org.apache.catalina.core.ContainerBase addChildInternal 严重: ContainerBase...

2016/01/05 15:49
1K
0
asm 与 cglib(整理的)

参考博客地址 http://www.oseye.net/user/kevin/blog/304#top http://www.blogjava.net/vanadies10/archive/2011/02/23/344899.html http://llying.iteye.com/blog/220452 http://www.cnblog...

2016/11/07 14:28
30
0
jvm第9节-asm生成class字节码

一、什么是ASM ASM是一个JAVA字节码分析、创建和修改的开源应用框架。在ASM中提供了诸多的API用于对类的内容进行字节码操作的方法。与传统的BCEL和SERL不同,在ASM中提供了更为优雅和灵活的操...

2017/09/27 13:24
9
0
Spring源码解析:获取源码

本文介绍从 github 上获取 Spring 源码,并分别构建 eclipse 工程和 intellij 工程

2016/08/21 17:26
411
0
asm 与 cglib(整理的)

参考博客地址 http://www.oseye.net/user/kevin/blog/304#top http://www.blogjava.net/vanadies10/archive/2011/02/23/344899.html http://llying.iteye.com/blog/220452 http://www.cnblog...

2016/11/07 14:27
4
0
Tomcat启动报错【java.util.zip.ZipException: invalid LOC header (bad signature)】

Tomcat启动报错【java.util.zip.ZipException: invalid LOC header (bad signature)】,以及如何解决

2016/08/19 16:03
814
1
JAVA基础之注解

注解就是那些插入到代码中使用其它工具可以对其进行处理的标签。注解不会改变程序的编译方式,Java编译器对于包含注解和不包含注解的代码会生成相同的JVM指令。 使用场景: 附属文件的自动生...

2015/12/02 19:51
6
0
apache commons api 整理

http://commons.apache.org/proper/commons-bcel/apidocs/index.html http://commons.apache.org/proper/commons-beanutils/javadocs/ http://commons.apache.org/proper/commons-cli/javado...

05/31 10:38
219
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部