-XX:+TieredCompilation, -XX:+UseCompressedOops, Escape Analysis and -XX:+UseNUMA - http://docs.oracle.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html Interestingly, PrintWriter, if pooled, shows considerable performance improvement. The creation of the object is expensive because of a call to get the line separator in its constructor. http://sachinhejip.blogspot.com/2004/08/experiences-in-java-performance.html Experience in twitter - http://www.umbrant.com/blog/2012/twitter_jvm_tuning.html Cases study on how to test performance from using difference GC algo - http://plumbr.eu/blog/g1-vs-cms-vs-parallel-gc A lot of information - http://www.javaadvent.com/2013/12/part-1-of-3-synopsis-of-articles-videos.html Basically use lower level construct - http://blog.jooq.org/2015/02/05/top-10-easy-performance-optimisations-in-java/