Skip to content

Instantly share code, notes, and snippets.

@idler
Created October 20, 2015 19:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save idler/379ddc32bbc2be133739 to your computer and use it in GitHub Desktop.
Save idler/379ddc32bbc2be133739 to your computer and use it in GitHub Desktop.
max@antonov :~: 22:41:32 [0] $ cat Ti.java
class Ti{
public static String a="test";
public static String b="Yes";
public static void main(String [] args){
StringBuilder c = new StringBuilder();
c.append(a); c.append(" "); c.append(b);
System.out.println(c);
}
}
max@antonov :~: 22:43:11 [0] $ cat Test.java
class Test{
public static String a="test";
public static String b="Yes";
public static void main(String [] args){
String c = a+" "+b;
System.out.println(c);
}
}
max@antonov :~: 22:43:18 [0] $ javap -c Ti
Compiled from "Ti.java"
class Ti {
public static java.lang.String a;
public static java.lang.String b;
Ti();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: new #2 // class java/lang/StringBuilder
3: dup
4: invokespecial #3 // Method java/lang/StringBuilder."<init>":()V
7: astore_1
8: aload_1
9: getstatic #4 // Field a:Ljava/lang/String;
12: invokevirtual #5 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: pop
16: aload_1
17: ldc #6 // String
19: invokevirtual #5 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: pop
23: aload_1
24: getstatic #7 // Field b:Ljava/lang/String;
27: invokevirtual #5 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
30: pop
31: getstatic #8 // Field java/lang/System.out:Ljava/io/PrintStream;
34: aload_1
35: invokevirtual #9 // Method java/io/PrintStream.println:(Ljava/lang/Object;)V
38: return
static {};
Code:
0: ldc #10 // String test
2: putstatic #4 // Field a:Ljava/lang/String;
5: ldc #11 // String Yes
7: putstatic #7 // Field b:Ljava/lang/String;
10: return
}
max@antonov :~: 22:43:35 [0] $ javap -c Test
Compiled from "Test.java"
class Test {
public static java.lang.String a;
public static java.lang.String b;
Test();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: new #2 // class java/lang/StringBuilder
3: dup
4: invokespecial #3 // Method java/lang/StringBuilder."<init>":()V
7: getstatic #4 // Field a:Ljava/lang/String;
10: invokevirtual #5 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: ldc #6 // String
15: invokevirtual #5 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: getstatic #7 // Field b:Ljava/lang/String;
21: invokevirtual #5 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: invokevirtual #8 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
27: astore_1
28: getstatic #9 // Field java/lang/System.out:Ljava/io/PrintStream;
31: aload_1
32: invokevirtual #10 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
35: return
static {};
Code:
0: ldc #11 // String test
2: putstatic #4 // Field a:Ljava/lang/String;
5: ldc #12 // String Yes
7: putstatic #7 // Field b:Ljava/lang/String;
10: return
}
max@antonov :~: 22:43:41 [0] $ javap -c Ti|wc -l
43
max@antonov :~: 22:43:51 [0] $ javap -c Test|wc -l
38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment