ASMSupport 0.4发布,0.4版本主要改变是采用了全新的Dummy方式的API来生成class。
新特性
增加全新Dummy方式API
采用链式结构作为执行队列
重构程序块实现
采用asm 0.5版本
第三方jar包零依赖
简化优化接口设计
获取类或者变量的成员时判断是否有权限访问
已修复Bug
1 . catch块中重复的异常名“e”
2 . 生成调用构造方法的字节码时,传递的参数列表和和实际参数列表不同,但仍能创建成功
3 . 生成变元方法的调用,并且传入空参数抛下标越界
4 . AClass的isChildOrEqual方法异常(接口不是Object子类)
5 . 重写父类方法,但是设置其返回类型为被重写方法的返回类型的子类型
6 . 新创建的方法中无法调用重写方法
7 . 无法生成获取父类属性的字节码
8 . 创建的枚举类型缺少常量ENUM$VALUES
9 . 创建的枚举类缺少values方法和valueOf方法
如果希望将项目导入eclipse,至少需要手动设置src/third/java为源码目录。为了方便入手和学习,在src/sample/java下还提供了简单的实例:比如实现字节码实现的json序列化工具,字节码实现的动态代理工具,分别运行json/demo/Runner.java和proxy/demo/Runner.java类测试这两个工具。
当使用ASM编写的时候 很多情况下需要了解JVM底层的指令的, 并且需要对栈和本地变量显式的进行操作, 如果直接用ASM进行开发势必会付出更多的学习成本和时间成本,并且不易后期的维护。
此框架正好缓解了上述问题。是程序员编写字节码的时候更易于理解和开发,屏蔽了JVM指令以及栈和本地变量的操作,开发的时候更趋近与直接编写java程序。
软件详情:http://git.oschina.net/wensiqun/asmsupport
下载地址:http://search.maven.org/remotecontent?filepath=cn/wensiqun/asmsupport/0.4/asmsupport-0.4.jar
来自:开源中国社区

