javap -c AAA
public java.lang.String concat(java.lang.String, java.lang.String,
java.lang.String);
Code:
0: new #2; //class java/lang/StringBuilder
3: dup
4: invokespecial #3; //Method java/lang/StringBuilder."<init>":()V
7: aload_1
8: invokevirtual #4; //Method
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: aload_2
12: invokevirtual #4; //Method
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: aload_3
16: invokevirtual #4; //Method
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: invokevirtual #5; //Method
java/lang/StringBuilder.toString:()Ljava/lang/String;
22: areturn
[snip 1.4 output]
Thanks for showing me this, it's time I re-read the JVM spec I suppose
as it's obviously been updated!
It is strange though that by making changes to an explicit StringBuffer
instead of using String concatenation, the memory usage of the AppFuse
build was reduced enough to avoid an OutOfMemory error.
The point about building the strings when they aren't used (because
logging verbosity is set too low) still stands though - this is less
than efficient
Thanks
Kev
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]