Name : Shreyal Mandot
Title : Compile sample program.Type the following command and view bytecodes.javap -c MYCLASS
public class MyClass
{
int num;
public MyClass()
{
num=0;
}
public MyClass(int num)
{
this.num=num;
}
public static void main(String[] args)
{
MyClass m1=new MyClass();
int n=Integer.parseInt(args[0]);
MyClass m2=new MyClass(n);
System.out.println(m1);
System.out.println(m2);
}
}
/*
Output-
[prady@localhost setA]# javac MyClass.java
[prady@localhost setA]# javap -c MyClass
Compiled from "MyClass.java"
public class MyClass extends java.lang.Object{
int num;
public MyClass();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: aload_0
5: iconst_0
6: putfield #2; //Field num:I
9: return
public MyClass(int);
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: aload_0
5: iload_1
6: putfield #2; //Field num:I
9: return
public static void main(java.lang.String[]);
Code:
0: new #3; //class MyClass
3: dup
4: invokespecial #4; //Method "<init>":()V
7: astore_1
8: aload_0
9: iconst_0
10: aaload
11: invokestatic #5; //Method java/lang/Integer.parseInt:(Ljava/lang/String;)I
14: istore_2
15: new #3; //class MyClass
18: dup
19: iload_2
20: invokespecial #6; //Method "<init>":(I)V
23: astore_3
24: getstatic #7; //Field java/lang/System.out:Ljava/io/PrintStream;
27: aload_1
28: invokevirtual #8; //Method java/io/PrintStream.println:(Ljava/lang/Object;)V
31: getstatic #7; //Field java/lang/System.out:Ljava/io/PrintStream;
34: aload_3
35: invokevirtual #8; //Method java/io/PrintStream.println:(Ljava/lang/Object;)V
38: return
[prady@localhost setA]#
*/
No comments:
Post a Comment