首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

ASMSupport原理概略

2012-08-01 
ASMSupport原理概要ASMSupport是基于ASM实现的一套框架。 ASMSupport通过将ASM字节码操作抽象成对象记作Ope

ASMSupport原理概要
ASMSupport是基于ASM实现的一套框架。 ASMSupport通过将ASM字节码操作抽象成对象记作Operator,然后将字节码操作所需要的信息封装到Operator中,并将Operator添加到执行队列Queue中,当方法所需要的所有操作都创建完毕则使用ASM框架将队列中的所有Operator执行。下面列举一个HelloWorld?例子:

public static void main(String[] args){    System.out.println("Hello World!");}


ASMSupport代码:
public static final GlobalVariable out = AClassFactory.getProductClass(System.class).getGlobalVariable("out");invoke(out, "println", getValue("Hello World")runReturn()


ASMSupport代码分析: 上面代码实际上创建了两个操作对象放入执行队列中。 一个是StaticMethodInvoker?。还有一个是Return对象 StaticMethodInvoker?存储了调用的对象即System.out,参数值即”Hello World”。当该对象被调用的时候则会调用ASM框架的方法,执行JVM的指令。 GETSTATIC System.out LDC “HelloWorld?” INVOKEIRTUAL PrintStream?.println(String): void



项目地址:http://code.google.com/p/amssupport/

热点排行