当前位置:  开发笔记 > 编程语言 > 正文

哪个库/程序可用于生成Java字节码?

如何解决《哪个库/程序可用于生成Java字节码?》经验,为你挑选了1个好方法。

我知道BCEL,但这个项目似乎已经死了,因为它已经两年没有发布了.Java世界继续前进.例如,JDK 1.6具有新的类文件格式.

那么什么库可以用来为JVM创建字节码.如果没有库,程序也可以,如果我可以详细操作生成的代码,例如字节码 - 汇编程序.

你能推荐哪种软件?是否容易使用?有很好的例子/教程?

编辑:所有问:是的,javac很好.但是为了在运行时生成一些类,直接到字节码的路径会更清晰.



1> Itay Maman..:

ASM

http://asm.objectweb.org/

它比BCEL快得多,并支持泛型和注释.关于其体系结构的一点:为了确保高性能,ASM围绕抛出事件的解析器构建(与解析器构建数据结构的BCEL相反).这有点类似于SAX和DOM解析器之间的区别.需要一些练习才能适应这种想法.

编辑(遵循McDowell的评论):确实访问者在ASM中被大量使用,但它不仅仅是普通的访问者:访问的数据结构由解析器懒惰地构建,所以如果你对类文件的某些部分不感兴趣(例如,你想知道方法的名称,但你不关心它们的主体),你可以从visitMethod()方法返回一个null.这将使解析器跳过方法主体部分,从而防止(昂贵的)构造完全描述该方法的对象网.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有