Java Hello World is much more interesting if you use System.out.printf instead of System.out.println. At least with the OpenJDK implementation, printf triggers initialising the locale subsystem. This allocates a load of short-lived objects and invokes the class loader to load the implementation of the current locale. With the possible exception of the old-generation GC and invokedynamic, I believe the first call to printf uses every single of the JVM.
Java Hello World is much more interesting if you use
System.out.printf
instead ofSystem.out.println
. At least with the OpenJDK implementation,printf
triggers initialising the locale subsystem. This allocates a load of short-lived objects and invokes the class loader to load the implementation of the current locale. With the possible exception of the old-generation GC andinvokedynamic
, I believe the first call toprintf
uses every single of the JVM.The title is a little underwhelming, but I thought it was cool to get an intro on how to use the JDK disassembly tools.