ASM:通用底层字节码操作和分析开发库

asm

ASM是一个全功能Java字节码操作与分析框架。可以用来修改已有的 class 文件或者直接以二进制形式动态生成 class。它提供了通用转换与分析算法,自己组合复杂转换与代码分析工具。

虽然提供了与其他字节码框架类似的功能,但是ASM主要专注于操作的易用性。它的设计目标就是更加小巧和快速,更适用于动态系统(*)。

(*)当然,ASM也可以静态使用

 

文档

学习ASM使用的最佳方法:先编写Java代码,与你想要生成的 class 文件功能一致;然后使用 Eclipse Bytecode Outline 插件的ASMifier模式(或者 ASMifier 工具)查看等价的ASM代码。如果想要实现一个 class 转换器,写两个Java源代码文件(转换前和转换后),然后使用 插件的ASMifier视图比较等价的ASM代码。

下面的文档提供了ASM 4.0的深入介绍,从基础功能到字节码分析这样的高级功能。

外部资料

API

开发资源

使用许可证

INRIA, France Telecom许可

官方网站:http://asm.ow2.org/
开源地址:http://forge.objectweb.org/plugins/scmsvn/index.php?group_id=23

打赏支持我整理更多优质资源,谢谢!

打赏编辑

打赏支持我整理更多优质资源,谢谢!

任选一种支付方式

1 收藏

资源整理者简介:唐尤华

唐尤华:我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其实我是一个程序员。 个人主页 · 贡献了108个资源 · 18 ·    


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer