Performance books put to the test
Tune up your Java programs with the help of these Java books
By John Zukowski, JavaWorld.com, 03/23/01
- Digg
- Reddit
- SlashDot
- Stumble
- del.icio.us
- Technorati
- dzone
Many people complain about the performance of their Java programs. Expecting miracles, or just giving in to hype, they want
unoptimized programs to perform faster than natively C/C++-compiled code. I don't mean to say that everyone writes poorly
written code, but unoptimized code is often less than perfect and can be tweaked to run faster while still being maintainable.
In this article, I'll examine six Java books that explore ways to help you improve your Java programs' performance.
The six books are:
- Java Platform Performance: Strategies and Tactics, Steve Wilson and Jeff Kesselman (Addison-Wesley, January 2000)
- Java Performance Tuning, Jack Shirazi (O'Reilly & Associates, September 2000)
- Enterprise Java Performance, Steven Halter and Steven Munroe (Prentice Hall/Sun Microsystems Press, August 2000)
- Java Performance and Scalability, Volume 1: Server-Side Programming Techniques, Dov Bulka (Addison-Wesley, June 2000)
- Java 2 Performance and Idiom Guide, Craig Larman and Rhett Guthrie (Prentice Hall, August 1999)
- Practical Java Programming Language Guide, Peter Haggar (Addison-Wesley, February 2000)
Table 1 provides a quick look at the books' main characteristics. The first two rows should be self-explanatory. The remaining
rows describe the books' coverage of improving performance in different Java technology areas.
| Table 1: Performance books overview |
| |
Java Platform Performance |
Java Performance Tuning |
Enterprise Java Performance |
Java Performance and Scalability |
Java 2 Performance and Idiom Guide |
Practical Java |
| Price |
4.95 |
4.95 |
9.99 |
4.95 |
9.99 |
2.95 |
| Total Pages |
230 |
430 |
410 |
290 |
300 |
280 |
| CD-ROM/Source from Web |
No / Yes |
No / Yes |
No / Yes |
No / Yes |
No / No |
No / Yes |
| Tuning Overview |
Good |
Very Good |
Good |
Poor |
Average |
None |
| Coding Techniques |
Average |
Good |
Poor |
Average |
Good |
Very Good |
| Object Loading |
Good |
Average |
None |
Average |
Average |
Average |
| Data Structures |
Good |
Very Good |
Poor |
Average* |
Average |
Average |
| Threads |
Poor* |
Very Good |
Poor |
Good |
Average* |
Good |
| GUIs |
Good |
Poor |
None |
None |
None |
None |
| I/O |
Average |
Good |
Poor |
Average |
Average |
Average |
| Distributed Computing |
None |
Good |
Very Good |
Very Good |
Poor |
None |
| JNI |
Good |
None |
None |
Average |
None |
None |
Scale: None, Poor, Average, Good, Very Good A star (*) in a field means the review of the specific book provides further details of the ranking.
|
Now I'll review each book individually. The order in which I review them is random and not based on their rankings. Beside
each book's title is a star rating that is based on the level of coverage and depth of techniques regarding Java performance
tuning. One star is a poor rating; the highest rating (five stars) indicates exceptional coverage.
Java Platform Performance: Strategies and Tactics

At only 230 pages -- the smallest of the bunch -- Java Platform Performance tries to pack lots of tips into a small amount of space. It does an excellent job, if your needs match the topics covered.
Most readers should have an interest in a majority of the topics.
The book is divided nicely into two parts: one has information on the strategies involved in increasing performance, the other
explains the tactics necessary to implement those strategies. Two in-depth appendices describe garbage collection and HotSpot.
The garbage-collection chapter focuses mostly on the object life cycle, including a nice description of reference objects;
the HotSpot chapter compares optimization techniques that HotSpot uses and the techniques you can use in your code.
- Digg
- Reddit
- SlashDot
- Stumble
- del.icio.us
- Technorati
- dzone
Resources
- Java Platform PerformanceStrategies and Tactics, Steve Wilson and Jeff Kesselman (Addison-Wesley, January 2000; ISBN0201709694)
http://www.amazon.com/exec/obidos/ASIN/0201709694/javaworld
- Java Platform PerformanceStrategies and Tactics sample chapters
http://java.sun.com/jdc/Books/performance/
- Java Performance Tuning, Jack Shirazi (O'Reilly & Associates, September 2000; ISBN0596000154)
http://www.oreilly.com/catalog/javapt/
- Enterprise Java Performance, Steven Halter and Steven Munroe (Prentice Hall/Sun Microsystems Press, August 2000; ISBN0130172960)
http://www.amazon.com/exec/obidos/ASIN/0130172960/javaworld
- Java Performance and Scalability, Volume 1Server-Side Programming Techniques, Dov Bulka (Addison-Wesley, June 2000; ISBN0201704293)
http://cseng.aw.com/book/0,3828,0201704293,00.html
- Java 2 Performance and Idiom Guide, Craig Larman and Rhett Guthrie (Prentice Hall, August 1999; ISBN0130142603)
http://vig.pearsoned.com/store/product/0,,store-562_banner-0_isbn-0130142603,00.html
- Practical Java Programming Language Guide, Peter Haggar (Addison-Wesley, February 2000; ISBN 0201616467)
http://www.awlonline.com/product/0,2627,0201616467,00.html
- "Java ThreadsA Comparative Book Review," John Zukowski (JavaWorld, December 15, 2000)
http://www.javaworld.com/javaworld/jw-12-2000/jw-1215-threadbooks.html
- "The 'Double-Checked Locking Is Broken' Declaration"
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
- "The Volano Report" -- Java benchmarks
http://www.volano.com/benchmarks.html
- Browse the JavaWorld Book Catalog
http://www.javaworld.com/javaworld/books/jw-books-index.html
- For more Book Reviews, check out the JavaWorld Topical Index
http://www.javaworld.com/javaworld/topicalindex/jw-ti-bookreviews.html
- Chat about performance-related issues in the Programming Theory & Practice discussion
http://www.itworld.com/jump/jw-0323-perfbooks/forums.itworld.com/webx?14@@.ee6b806/404!skip=374
- Sign up for the JavaWorld This Week free weekly email newsletter and keep up with what's new at JavaWorld
http://www.idg.net/jw-subscribe