介绍
ASM 目前版本为5.1,网址:http://asm.ow2.org
- 源代码不在GitHub上
- 工程代码不采用Maven管理,而是使用Ant
其它同类工具有Java assist,CGLib 等,可直接操作class文件字节码,动态生成新的类,使用类加载器加载;可实现AOP切面编程
API
ASM 4.0 版本的API 分为Core API 和 Tree API 两种实现方式
-
Core API 主要是提供了ClassVisitor,按照规定的顺序执行visit方法,最终构成出class文件的完整结构,速度快
-
Tree API 类似于DOM结构,主要使用ClassNode等一系列Node的组合来实现生成和操作class文件的目的,速度稍慢
设计模式
-
Visitor(访问器)模式
-
Decorator(装饰器)模式