Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

When you open the JASM formatted disassembly (HelloWorld.jasm), you see the following:

Info
iconfalse
super public class HelloWorld
        version 50:0

{


public Method  "<init>":"()V"
        stack 1 locals 1
{
                aload_0;
                invokespecial   Method java/lang/Object."<init>":"()V";
                return;
}

public static Method main:"([Ljava/lang/String;)V"
        stack 2 locals 1
{
                getstatic       Field java/lang/System.out:"Ljava/io/PrintStream;";
                ldc     String "Hello, world!";
                invokevirtual   Method java/io/PrintStream.println:"(Ljava/lang/String;)V";
                return;
}

} // end Class HelloWorld

...

When you open the JCOD formatted disassembly (HelloWorld.jcod), you see the following:

Info
iconfalse
class HelloWorld {
  0xCAFEBABE;
  0; // minor version
  50; // version
  [] { // Constant Pool
    ; // first element is empty
    Method #6 #15; // #1   
    Field #16 #17; // #2   
    String #18; // #3   
    Method #19 #20; // #4   
    class #21; // #5   
    class #22; // #6   
    Utf8 "<init>"; // #7   
    Utf8 "()V"; // #8   
    Utf8 "Code"; // #9   
    Utf8 "LineNumberTable"; // #10   
    Utf8 "main"; // #11   
    Utf8 "([Ljava/lang/String;)V"; // #12   
    Utf8 "SourceFile"; // #13   
    Utf8 "HelloWorld.java"; // #14   
    NameAndType #7 #8; // #15   
    class #23; // #16   
    NameAndType #24 #25; // #17   
    Utf8 "Hello, world!"; // #18   
    class #26; // #19   
    NameAndType #27 #28; // #20   
    Utf8 "HelloWorld"; // #21   
    Utf8 "java/lang/Object"; // #22   
    Utf8 "java/lang/System"; // #23   
    Utf8 "out"; // #24   
    Utf8 "Ljava/io/PrintStream;"; // #25   
    Utf8 "java/io/PrintStream"; // #26   
    Utf8 "println"; // #27   
    Utf8 "(Ljava/lang/String;)V"; // #28   
  } // Constant Pool

  0x0021; // access
  #5;// this_cpx
  #6;// super_cpx

  [] { // Interfaces
  } // Interfaces

  [] { // fields
  } // fields

  [] { // methods
    { // Member
      0x0001; // access
      #7; // name_cpx
      #8; // sig_cpx
      [] { // Attributes
        Attr(#9) { // Code
          1; // max_stack
          1; // max_locals
          Bytes[]{
            0x2AB70001B1;
          };
          [] { // Traps
          } // end Traps
          [] { // Attributes
            Attr(#10) { // LineNumberTable
              [] { // LineNumberTable
                0  1;
              }
            } // end LineNumberTable
          } // Attributes
        } // end Code
      } // Attributes
    } // Member
    ;
    { // Member
      0x0009; // access
      #11; // name_cpx
      #12; // sig_cpx
      [] { // Attributes
        Attr(#9) { // Code
          2; // max_stack
          1; // max_locals
          Bytes[]{
            0xB200021203B60004;
            0xB1;
          };
          [] { // Traps
          } // end Traps
          [] { // Attributes
            Attr(#10) { // LineNumberTable
              [] { // LineNumberTable
                0  3;
                8  4;
              }
            } // end LineNumberTable
          } // Attributes
        } // end Code
      } // Attributes
    } // Member
  } // methods

  [] { // Attributes
    Attr(#13) { // SourceFile
      #14;
    } // end SourceFile
  } // Attributes
} // end class HelloWorld

...