字节码框架ASM与AOP,ASM与BufferKnife/FastJSON
发布时间:2020-12-16 19:47:59 所属栏目:百科 来源:网络整理
导读:java字节码框架ASM ; ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class文件里,这些类文件拥有
> java字节码框架ASM;
ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。 ObjectWeb ASM轻量级的Java字节码处理框架,它可以动态生成二进制格式的stub类或其他代理类,或者在类被JAVA虚拟机装入内存之前,动态修改类。ASM 提供了与 BCEL和SERP相似的功能,只有22K的大小,比起350K的BCEL和150K的SERP来说,是相当小巧的,并且它有更高的执行效率,是BCEL的7倍,SERP的11倍以上。 -- ASM包括主要三个类: 1、ClassReader : 负责从类文件中读取输入流,并依照固定的顺序调用 ClassVisitor 中声明的多个 visitorXxx的方法。 2、ClassVisitor : 抽象类,负责类内容的访问。 3、ClassWriter :负责生成byte[]字节流。ClassWriter是ClassVisitor的子类。 > ASM与AOP;使用ASM操作Java字节码,实现AOP原理;ASM与编译时注解 - BufferKnife与ASM,objectwebasm,一种.class的代码生成器的开源项目. 用字节码来生成类;使用ASM动态生成Java字节码文件(.class) 或者 加载字节码后动态修改字节码,添加我们需要执行的代码,来模拟实现Spring AOP。使用ASM操作Java字节码,实现AOP原理- https://yq.aliyun.com/articles/4798# > FastJSON使用到了ASM框架。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |