Press Release: January 30, 2003
How to Make Java Applications Go Faster: O'Reilly Releases a New Edition of "Java Performance Tuning"
Sebastopol, CA--Performance problems have vexed Java developers and architects since the first version of the language hit the streets in the mid-'90s. Java development tools have improved significantly over the years, most recently with the 1.4 version of the Software Development Kit (SDK), but as Jack Shirazi points out in his new edition of Java Performance Tuning (O'Reilly, US $44.95), the process of tuning a program's code to remove bottlenecks is still essential for improving speed and performance, especially for J2EE applications. "Performance tuning of Java applications hasn't lost any of its importance," Shirazi asserts. "It's second only to the primary functionality of an application."
In this updated edition of "Java Performance Tuning," Shirazi uses real-life examples to show how tricks such as minimizing object creation and replacing strings with arrays can improve the code for any Java application, applet, servlet, bean, library, or other component. With over three hundred tuning techniques, the book offers a common sense approach about what to tune and what to leave alone, noting that blindly changing things to make a program run faster is a great way to create buggy, unmaintainable code. Instead, Shirazi emphasizes techniques that provide big performance gains with minimal code restructuring.
The reasons for sluggish performance are not always clear to developers."This book shows why a particular Java application might be running slower than expected and suggests ways to avoid or overcome these pitfalls and improve performance," Shirazi explains.
Shirazi notes that the most recent version of J2SE, the standard edition of the software, addresses significant problems with server I/O performance, and improves object creation and garbage collection with the latest Java Virtual Machine. The new version of J2EE, Java's Enterprise Edition, "addresses application partitioning issues which can make an enormous difference to J2EE applications," he adds. But nonoptimal coding and "overhead" in the Java runtime system can still slow things down.
"Java Performance Tuning" gives step-by-step instructions on all aspects of the performance-tuning process, from goal setting, performance measurement, and choosing a compiler, to detailed examples on using profiling tools and applying the results to tune the code. This isn't an entry-level book about Java, but developers and architects don't need any previous tuning knowledge to benefit from it. All test results have been updated using the latest versions of the Java Virtual Machine, including those released with SDK 1.4.
The second edition also includes specific information on application tuning for J2EE. One new chapter discusses how to optimize the performance of distributed systems, while others show how to speed up servlets and JSPs, how to structure JDBC usage efficiently, and how to effectively design patterns to optimize Enterprise JavaBean performance.
Shirazi's book grew out of his web site, JavaPerformanceTuning.com. "I once worked with a customer who wanted to know if there was a 'go faster' switch somewhere that he could just turn on and make the whole application go faster," explains Shirazi, an independent consultant and early adopter of Java. "There is no such switch, but very simple techniques sometimes provide the equivalent."
What critics said about the first edition:
"So you bit the bullet and wrote that big application in Java, and now the boss says it runs too slow. You'll probably want to get this book."
--Marc Briand, C/C++ Users Journal
"You have been working on that Java application for two weeks and it's finally ready for testing. Your window for having the web site down is ten minutes but you aren't concerned. Three hours later with the program still running, you are more than concerned. Before you panic, pick up a copy of 'Java Performance Tuning.' This book is geared for serious developers who need to dramatically improve performance in their applications and are willing to dig deep into the code. Besides being well written, the book is fun. I found myself trying to figure out along with the author how to improve the performance of the various examples demonstrated in the book"
--Thomas Paul, www.javaranch.com
"To get the biggest bang for your buck and maximize your program's efficiency, the experienced Java developers will find 'Java Performance Tuning' the best resource. No other book approaches the quality and depth of its techniques. Giving copies of this book to every member of your development team will save you money in the long run. Five stars."
--John Zukowski, JavaWorld
The author's site is at javaperformancetuning.com