ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Java Performance Tuning, 2ed
Jack Shirazi
Silvia de Beer
Appeared in:
The book's contents do not exactly correspond to what I was expecting from the title. I was expecting more than only one chapter on profiling tools. The chapter on profiling tools only covers some basic profiling options for the various JVMs. I hoped to find a solid method description of techniques to apply when you encounter performance problems in your Java application. Proprietary profiling tools and their features are not described at all.

If this book is not about profiling tools, what about is it then? Well, it describes potential bottlenecks in your code and gives ideas about how you could optimise your code. Topics include object creation and garbage collection, strings, exceptions, casts, loops, I/O, sorting, threading, collections and distributed computing.

In this second edition, new chapters have been added on J2EE performance tuning, JDBC, Servlets and EJBs. It is a good thing that those topics have been added, but it makes the book rather long if you want to read it from cover to cover. However, these single chapters would not provide enough information if you would have an application heavily relying on one of those technologies; you would need to consult more detailed references.

Some suggestions for how to improve performance are in conflict with good programming practices. I think one should only replace the use of standard Java classes and interfaces with proprietary ones if no other solution is possible to improve performance. Luckily, the author does agree here, but still, in the chapters he gives various examples of how standard Java implementations could be replaced by proprietary ones if needed.

The book is interesting to read, but in my opinion the phrasing could have been more compact. On the whole I found that the book contained useful information and is worth reading.