1,classReader和classWriter区别
ClassReader
类(读取):
这个类可以直接由字节数组或由 class 文件间接的获得字节码数据,它能正确的分析字节码,构建出抽象的树在内存中表示字节码
ClassWriter类(生成):
生成字节码的工具类
---实现了ClassVisitor接口
---含有一个 toByteArray()
函数,返回生成的字节码的字节流
一,ClassVisitor实现类
ASMifierClassVisitor
CheckClassAdapter
ClassAdapter
ClassNode
ClassWriter
EmptyVisitor
RemappingClassAdapter
SAXClassAdapter
SerialVersionUIDAdder
StaticInitMerger
TraceClassVisitor
二,AnnotationVisitor实现类
AnnotationNode
ASMifierAnnotationVisitor
CheckAnnotationAdapter
EmptyVisitor
RemappingAnnotationAdapter
SAXAnnotationAdapter
TraceAnnotationVisitor
三,FieldVisitor实现类
ASMifierFieldVisitor
CheckFieldAdapter
EmptyVisitor
FieldNode
RemappingFieldAdapter
SAXFieldAdapter
TraceFieldVisitor
四,MethodVisitor实现类
AdviceAdapter
AnalyzerAdapter
ASMifierMethodVisitor
CheckMethodAdapter
CodeSizeEvaluator
EmptyVisitor
GeneratorAdapter
InstructionAdapter
JSRInlinerAdapter
LocalVariablesSorter
MethodAdapter
MethodNode
RemappingMethodAdapter
SAXCodeAdapter
TraceMethodVisitor
五,Opcodes实现类
AdviceAdapter
Analyzer
ASMContentHandler
BasicInterpreter
BasicVerifier
CodeSizeEvaluator
JSRInlinerAdapter
SimpleVerifier
SourceInterpreter
1.
ClassVisitor接口
来访问Class中的每个元素
2.用户一般使用
ClassReader类
来读取Class的字节码时,
注:每read一个元素,ASM会调用指定的ClassVisitor接口的实现类
来访问这个元素(访问者模式)
分享到:
相关推荐
##### 3.2 初始化步骤 - **INT1**引脚应保持不连接或上电期间连接外部下拉电阻。 - **INT2**引脚建议不要连接外部上拉电阻。 - **配置器件**: - **SPI模式**:设置寄存器13h中的I2C_disable=1及寄存器18h中的...
2.8.2依次创建vote、ocr、asm1、asm2、asm3、asm4、asm5五个磁盘 2.8.3把所有新创建的磁盘全部改成可共享模式 2.8.4启用两台主机sata控制器的I/O缓存功能 2.9 设置绑定裸设备 2.10 添加ASM磁盘 2.11 创建SSH信任关系...
Oraclelinux6.5 下 oracle11.2.0.3 RAC_Multipath_ASM 安装—飞扬笔记 2.3.7 修改 oracle 用户限制 ................................................................................... 13 2.3.8 修改/etc/pam.d...
3.2修改/etc/hosts 48 3.3 修改Oracle用户下的环境变量 48 4配置Clusterware安装环境 48 4.1使用SSH建立用户等效性 48 4.2配置Oracle自动存储管理(ASM) 51 5 安装Clusterware 52 5.1 检查安装环境 52 5.2 ...
**3.2 配置文件解析** - `<hibernate-mapping>`:根元素,用于指定当前配置文件所属的包。 - `<class>`:指定一个类的映射信息,其属性`name`用来指定Java类名。 - `<id>`:映射实体类中的主键字段。 - `...
##### **3.2 hosts文件配置** 编辑各节点的`/etc/hosts`文件,确保每个节点能够通过IP地址解析对方的主机名。 ##### **3.3 DNS配置(过程略)** 配置DNS服务,以便于节点间通过域名进行通信。 #### 检查并安装所需...
### Hibernate学习笔记知识点详解 #### 一、在Eclipse中配置Hibernate环境 ##### 1. 配置Classpath Variables 为了在Eclipse中正确配置Hibernate,首先需要设置Classpath Variables来指向Hibernate安装路径下的...
##### 3.2 用户规划 - **oracle**:Oracle数据库的主用户。 - **grid**:用于管理Grid Infrastructure的用户。 ##### 3.3 主机文件系统规划 - **/u01/app/oracle**:Oracle软件的安装路径。 - **/u01/app/grid**...
- 总共添加 5 块磁盘,其中 1 块为本地磁盘,2 块作为 clusterware 安装所需的 ocr 和 voting disk,另外 2 块作为 ASM 磁盘。 #### 四、Oracle 10G RAC 安装 ##### 4.1 Oracle 10G RAC 安装概述 - **目标**:在 ...
[Trial version] 3.2 利用调试API编写脱壳机 [Trial version] DEF分析与打造其脱壳软件----我的一篇析文.htm [Trial version] 用调试函数跟踪API.htm [Trial version] 3.3 利用调试API制作内存补丁 [Trial ...
内容简介 本书从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。书中不仅关注代码本身,同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍,而是提供给读者一个...
内容简介 本书从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。书中不仅关注代码本身,同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍,而是提供给读者一个...