OpenJDK里的AsmTools简介
前言 https://wiki.openjdk.java.net/display/CodeTools/asmtools 在OpenJDK里有一个AsmTools项目,用来生成正确的或者不正确的java .class文件,主要用来测试和验证。 我们知道直接修改.class文件是很麻烦的,虽然有一些图形界面的工具,但还是很麻烦。 以前我的办法是用ASMifier从.class文件生成asm java代码,再修改代码,生成新的.class文件,非常麻烦。 AsmTools引入了两种表示.class文件的语法: JASM 用类似java本身的语法来定义类和函数,字节码指令则很像传统的汇编。 JCOD 整个.class用容器的方式来表示,可以很清楚表示类文件的结构。 重要的是两种语法的文件都是可以和.class互相转换的。 构建AsmTools 官方文档: https://wiki.openjdk.java.net/display/CodeTools/How+to+build+AsmTools 需要有jdk8和ant。 clone代码 hg clone http://hg.openjdk.jav...