Heim > Java > javaLernprogramm > Wie zeige ich Java-.class-Dateien an?

Wie zeige ich Java-.class-Dateien an?

藏色散人
Freigeben: 2020-09-17 16:23:58
Original
5609 Leute haben es durchsucht

Um die Prinzipien von Javac zu studieren, muss man manchmal sehen, wie der Inhalt der Klassendatei organisiert ist. Zu diesem Zeitpunkt ist es notwendig, die Klassendatei zu überprüfen.

Wie zeige ich Java-.class-Dateien an?

Wie zeige ich Java-Klassendateien an?

Es gibt viele Möglichkeiten, Klassendateien anzuzeigen. Es wird empfohlen, das mit dem JDK gelieferte Javap-Tool zu verwenden.

Erstellen Sie zunächst den folgenden Quellcode:

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("hello world!");
    }
}
Nach dem Login kopieren

Verwenden Sie den Javac-Compiler, um die Quelldatei zu kompilieren, und verwenden Sie dann das Javap-Tool, um die Klassendatei anzuzeigen. Der Befehl lautet wie folgt:

javap -verbose HelloWorld
Nach dem Login kopieren

Dies ist ein DOS-Fenster. Die laufenden Ergebnisse werden wie unten gezeigt kopiert:

F:\>javac HelloWorld.java
F:\>javap -verbose HelloWorld
Classfile /F:/HelloWorld.class
  Last modified 2017-12-24; size 426 bytes
  MD5 checksum 4efac412ef483c8a3fe7489c87d15c8c
  Compiled from "HelloWorld.java"
public class HelloWorld
  minor version: 0
  major version: 52
  flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
   #1 = Methodref          #6.#15         // java/lang/Object."<init>":()V
   #2 = Fieldref           #16.#17        // java/lang/System.out:Ljava/io/Print
Stream;
   #3 = String             #18            // hello world!
   #4 = Methodref          #19.#20        // java/io/PrintStream.println:(Ljava/
lang/String;)V
   #5 = Class              #21            // HelloWorld
   #6 = Class              #22            // java/lang/Object
   #7 = Utf8               <init>
   #8 = Utf8               ()V
   #9 = Utf8               Code
  #10 = Utf8               LineNumberTable
  #11 = Utf8               main
  #12 = Utf8               ([Ljava/lang/String;)V
  #13 = Utf8               SourceFile
  #14 = Utf8               HelloWorld.java
  #15 = NameAndType        #7:#8          // "<init>":()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               HelloWorld
  #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 HelloWorld();
    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 1: 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:Ljav
a/io/PrintStream;
         3: ldc           #3                  // String hello world!
         5: invokevirtual #4                  // Method java/io/PrintStream.prin
tln:(Ljava/lang/String;)V
         8: return
      LineNumberTable:
        line 3: 0
        line 4: 8
}
SourceFile: "HelloWorld.java"
F:\>
Nach dem Login kopieren

Verwandte Lernempfehlungen: Java Basic Tutorial

Das obige ist der detaillierte Inhalt vonWie zeige ich Java-.class-Dateien an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage