分解.class文件
通过javap -v One.class 分解得到如下:
Classfile /E:/ljjwork/newland-autoid/project/java/src/jvm/One.class
Last modified 2023-12-5; size 275 bytes
MD5 checksum bb1fccc1c9122f9b6c42d7a65507466c
Compiled from "One.java"
public class jvm.One
minor version: 0
major version: 63
flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
#1 = Methodref #2.#3 // java/lang/Object."<init>":()V
#2 = Class #4 // java/lang/Object
#3 = NameAndType #5:#6 // "<init>":()V
#4 = Utf8 java/lang/Object
#5 = Utf8 <init>
#6 = Utf8 ()V
#7 = Class #8 // jvm/One
#8 = Utf8 jvm/One
#9 = Utf8 Code
#10 = Utf8 LineNumberTable
#11 = Utf8 main
#12 = Utf8 ([Ljava/lang/String;)V
#13 = Utf8 SourceFile
#14 = Utf8 One.java
{
public jvm.One();
descriptor: ()V
flags: ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return
LineNumberTable:
line 3: 0
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
0: iconst_1
1: istore_1
2: iconst_2
3: istore_2
4: iload_1
5: iload_2
6: iadd
7: istore_3
8: return
LineNumberTable:
line 5: 0
line 6: 2
line 7: 4
line 8: 8
}
SourceFile: "One.java"