java编译后生成字节码_Java编译生成字节码-2020-10-12

javap -verbose Hello

Java代码:

public class Hello {

public static void main(String[] args) {

System.out.println("hello world");

}

}

生成的字节码如下:

```Classfile /Users/jessen/learning/JAVA-000/Week_01/demo1/Hello.class

Last modified 2020-10-12; size 415 bytes

MD5 checksum f78738196756e74f31907b064c1ee653

Compiled from "Hello.java"

public class Hello

minor version: 0

major version: 52

flags: ACC_PUBLIC, ACC_SUPER

Constant pool:

#1 = Methodref          #6.#15        // java/lang/Object."":()V

#2 = Fieldref          #16.#17        // java/lang/System.out:Ljava/io/PrintStream;

#3 = String            #18            // hello world

#4 = Methodref          #19.#20        // java/io/PrintStream.println:(Ljava/lang/String;)V

#5 = Class              #21            // Hello

#6 = Class              #22            // java/lang/Object

#7 = Utf8

#8 = Utf8              ()V

#9 = Utf8              Code

#10 = Utf8              LineNumberTable

#11 = Utf8              main

#12 = Utf8              ([Ljava/lang/String;)V

#13 = Utf8              SourceFile

#14 = Utf8              Hello.java

#15 = NameAndType        #7:#8          // "":()V

#16 = Class              #23            // java/lang/System

#17 = NameAndType        #24:#25        // out:Ljava/io/PrintStream;

#18 = Utf8              hello world

#19 = Class              #26            // java/io/PrintStream

#20 = NameAndType        #27:#28        // println:(Ljava/lang/String;)V

#21 = Utf8              Hello

#22 = Utf8              java/lang/Object

#23 = Utf8              java/lang/System

#24 = Utf8              out

#25 = Utf8              Ljava/io/PrintStream;

#26 = Utf8              java/io/PrintStream

#27 = Utf8              println

#28 = Utf8              (Ljava/lang/String;)V

{

public Hello();

descriptor: ()V

flags: ACC_PUBLIC

Code:

stack=1, locals=1, args_size=1

0: aload_0

1: invokespecial #1                  // Method java/lang/Object."":()V

4: return

LineNumberTable:

line 2: 0

public static void main(java.lang.String[]);

descriptor: ([Ljava/lang/String;)V

flags: ACC_PUBLIC, ACC_STATIC

Code:

stack=2, locals=1, args_size=1

0: getstatic    #2                  // Field java/lang/System.out:Ljava/io/PrintStream;

3: ldc          #3                  // String hello world

5: invokevirtual #4                  // Method java/io/PrintStream.println:(Ljava/lang/String;)V

8: return

LineNumberTable:

line 4: 0

line 5: 8

}

SourceFile: "Hello.java"```

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页