class Foo { 0xCAFEBABE; 0; // minor version 52; // version [] { // Constant Pool ; // first element is empty Method #4 #14; // #1 String #15; // #2 class #16; // #3 class #17; // #4 Utf8 ""; // #5 Utf8 "()V"; // #6 Utf8 "Code"; // #7 Utf8 "LineNumberTable"; // #8 Utf8 "m"; // #9 Utf8 "m2"; // #10 Utf8 "()Ljava/lang/String;"; // #11 Utf8 "SourceFile"; // #12 Utf8 "Foo.java"; // #13 NameAndType #5 #6; // #14 Utf8 "Hello"; // #15 Utf8 "Foo"; // #16 Utf8 "java/lang/Object"; // #17 } // Constant Pool 0x0020; // access #3;// this_cpx #4;// super_cpx [] { // Interfaces } // Interfaces [] { // fields } // fields [] { // methods { // Member 0x0000; // access #5; // name_cpx #6; // sig_cpx [] { // Attributes Attr(#7) { // Code 1; // max_stack 1; // max_locals Bytes[]{ 0x2AB70001B1; }; [] { // Traps } // end Traps [] { // Attributes Attr(#8) { // LineNumberTable [] { // LineNumberTable 0 1; } } // end LineNumberTable } // Attributes } // end Code } // Attributes } // Member ; { // Member 0x0000; // access #9; // name_cpx #6; // sig_cpx [] { // Attributes Attr(#7) { // Code 0; // max_stack 1; // max_locals Bytes[]{ 0xB1; }; [] { // Traps } // end Traps [] { // Attributes Attr(#8) { // LineNumberTable [] { // LineNumberTable 0 2; } } // end LineNumberTable } // Attributes } // end Code } // Attributes } // Member ; { // Member 0x0000; // access #9; // name_cpx #11; // sig_cpx [] { // Attributes Attr(#7) { // Code 1; // max_stack 1; // max_locals Bytes[]{ 0x1202B0; }; [] { // Traps } // end Traps [] { // Attributes Attr(#8) { // LineNumberTable [] { // LineNumberTable 0 3; } } // end LineNumberTable } // Attributes } // end Code } // Attributes } // Member } // methods [] { // Attributes Attr(#12) { // SourceFile #13; } // end SourceFile } // Attributes } // end class Foo