JonathanHardwick describes a number of Java optimizations at http://www.cs.cmu.edu/~jch/java/