- Loading...
...
When you open the JASM formatted disassembly (HelloWorld.jasm), you see the following:
| Info | ||
|---|---|---|
| ||
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 | ||
|---|---|---|
| ||
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 |
...