新しいJavaクラスを作成します。
パッケージcom.learn.jvm。 パブリック クラスMyTest1 { プライベート int型の A = 1 ; パブリックMyTest1(){ } 公共 のint 下駄は(){ 戻り 、この.Aと、 } 公共 ボイドセットA(INT A){ この .A = 。 } }
-c抗コンソールを解決してjavap使用
D:\ \共通学びをワークスペース-学ぶ\学ぶ-クラスローダの\ターゲット\クラスは\ COM \学ぶ\ JVM>てjavap -c MyTest1 警告:二进制文件MyTest1包含com.learn.jvm.MyTest1 "MyTest1.java"より作成 、公開クラスcom.learn.jvm.MyTest1 { パブリックcom.learn.jvm.MyTest1()。 コード: 0:aload_0 。invokespecial#1 //メソッドのJava /ラング/オブジェクト"<初期化>" :()V:1 4:aload_0 iconst_1で:5 6:putfield#2 //フィールド:私は 9:返す パブリックINTを入手する(); コード: 0:aload_0 のgetField#2 //フィールド:I 1 4:ireturn 0:aload_0 ます。public voidセットA(int型); コード: 1:iload_1 2:putfield#2 //フィールド:I 5:リターン }
-verbose抗コンソールを解決してjavap使用
D:\ワークスペース-学ぶ\共通学ぶ\学ぶ-クラスローダの\ターゲット\クラス\ COM \学ぶ\ JVM>てjavap -verbose MyTest1 警告:二进制文件MyTest1包含com.learn.jvm.MyTest1 クラスファイル/ D:/ワークスペース-学びます/common-learn/learn-classloader/target/classes/com/learn/jvm/MyTest1.class 最後は2019年9月4日に変更しました。サイズ473バイトの MD5チェックサムが8dc78fb3801af3d26bc3befec9b7c5ed "MyTest1.java"より作成 パブリッククラスcom.learn.jvm.MyTest1 SOURCEFILE: "MyTest1.java" マイナーバージョン:0 メジャーバージョン:51の 旗:ACC_PUBLIC、ACC_SUPER 定数プール: 第1位= Methodref#を4.#20 // Javaの/ LANG /オブジェクト。 "の<init>" :()V #2 =するFieldRef#3.#21 // COM /学ぶ/ JVM / MyTest1.a:I #3 =クラス#22 // COM /学習/ JVM / MyTest1 #4 =クラス#23 //のJava /ラング/ OBJECT #5 = UTF8 A #6 = UTF8 I #7 = UTF8 <初期化> #8 = UTF8( )V #9 = UTF8コード #10 = UTF8 LineNumberTable #11 = UTF8 LocalVariableTable #12 = UTF8この #13 = UTF8 LCOM /学習/ JVM / MyTest1。 #14 = UTF8下駄 #15 = UTF8()I #16 = UTF8セットA #17 = UTF8(I)のV #18 = UTF8 SOURCEFILE #19 = UTF8 MyTest1.java #20 = NameAndType#7:#8 // "<初期化>" :( )V #21 = NameAndType#5:#6:// I #22 = UTF8 COM /学習/ JVM / MyTest1 #23 = UTF8のJava /ラング/オブジェクト { 公共com.learn.jvm.MyTest1 (); フラグ:ACC_PUBLIC コード: スタック= 2、地元の人々が= 1、args_size = 1 0:aload_0 1:invokespecial#1 //メソッドのJava / langは/オブジェクト"<初期化>" :()V 4:aload_0 5:iconst_1で 6: putfield#2 //フィールド:I 9:戻る :LineNumberTable 行8:0 9行目:4 LocalVariableTableを: スタートの長スロット名の署名を 0 10 0このLCOM /学ぶ/ JVM / MyTest1。 公共int型下駄(); フラグ:ACC_PUBLIC コード: スタック= 1、地元の人々 = 1、args_size = 1 0:aload_0 1:のgetField#2 //フィールド:私は 4:ireturn LineNumberTable: 行12:0 LocalVariableTableは: 長さスロット名の署名を開始し 、この0 5 0 LCOM /学ぶ/ JVM / MyTest1。 公共無効セットA(int型); フラグ:ACC_PUBLIC コード: スタック= 2、地元の人々は= 2、args_size = 2 2:putfield#2 //フィールド:私は 0:aload_0 1:iload_1 5:返す LineNumberTableを: 行16:0 の行17:5 LocalVariableTable: 開始長のスロット名の署名 0 6 0このLCOM /学ぶ/ JVM / MyTest1。 0 6 1 I }