Turbo-charging Java HotSpot Virtual Machine, v1.4.x to Improve the Performance and Scalability of Application Servers. This paper describes the requirements of a Telecommunication (Telco) application server written in Java, and how those requirements might influence Java virtual machine design. Most of the discussion is not limited to Telco alone, but applies to the enterprise as well. [Java-Channel]
Some serious detail on java garbage collection here. Tweaking GC can have major impacts on application performance. I’ve obtained speed-ups of up to 500% on batch operations (turning a 1-hour task into a 12 minute one) by doing this. For almost all server-side or long-running batch applications, the default young generation size is way, way too small, and should be increased to a significant proportion of the JVM’s maximum memory.
-verbose:gc
is your friend.