1. ASM是什么?
简单来说, ASM是-个操他ava字节砂的类库。
为了能够更好的理解ASM是什么, 我们需要来搞清楚两个问题:
第一个问题,ASM的操作对象是什么呢?
第二个问题,ASM是如何处理字节码( ByteCode )数据的?
首先,我们来看第一个问题: ASM的操作对象是什么呢?
回答: ASM所操作的对象是子节码( ByteCode )数据。
我们都知道,一个.java
文件经过]ava编译器( javac ) 编译之后会生成一个.class
文件。在.class
文件中,存储的是字节码(ByteCode
)数据,如下图所示。ASM所的操作对象是是 字节码( ByteCode)
, 而在许多情况下,字节码( ByteCode )的具体表现形式是.class
文件。