High Performance Java
By Josh Simons on May 30, 2008
I've been exchanging email about Java performance with Paul Hohensee, Sun's technical lead on the Java SE VM. He sent me several slide decks and additional information that will be useful to anyone interested in writing high performance Java code or in extracting high performance from existing Java code.
The first presentation [PDF] contains a list of pointers to whitepapers on Java performance, tuning, and garbage collection, as well as additional resources on monitoring and management, including information on using Dtrace with Java. It also includes a list of performance-oriented blogs, which I reproduce here for your convenience:
|Steve Bohne||Steve Bohne's Weblog|
|Dave Dagastine||David Dagastine's Weblog|
|Dave Dice||Dave Dice's Weblog|
|David Holmes||David Holmes' Weblog|
|Steve Goldman||Travels with FatCatAir|
|Jon Masamitsu||Jon Masamitsu's Weblog|
|Keith McGuigan||Keith McGuigan's Weblog|
|Tony Printezis||Tony's Blog|
|John Rose||John Rose @ Sun|
The second presentation, titled "High Performance Java Technology in a Multi-core World" [PDF] by Paul Hohensee and David Dagastine was presented at the 2007 JavaOne Conference. It gives an overview of Sun's multi-core architectures and then presents Java VM technologies and software optimization techniques to maximize application performance.
Paul also pointed me to this recent article on Java performance myths, which summarizes the conclusions of two Google engineers who took a close look at conventional wisdom versus reality.