Performance Zone is brought to you in partnership with:

I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Java Performance Book Review

01.10.2012
| 9174 views |
  • submit to reddit
Published by: Addison-Wesley
ISBN: 0137142528

Reviewer Ratings

Relevance:
5

Readability:
5

Overall:
5

Buy it now

One Minute Bottom Line

If you're writing commercial Java applications, this book is essential. Even if you think you don't have any performance issues in your product, it's worth taking the time out to do some profiling. Perhaps some JVM tuning would give your application a higher rate of acceptance.

If you're starting out on a project, it's worth consulting this book to plan some tasks related to performance tuning. 

There are other books available that tackle this subject, but this is the most recent, and in my opinion, the most accomplished of all.  This can be considered the bible for performance in Java applications. Even if you don't need to worry about performance issues, this book provides a deeper understanding of the JVM and the garbage collector.

I've been working with Java for a long time, but this book taught me a lot. This book could make you the most valuable Java developer in the building!

Review

Since the language was first released, performance has always a concern for Java applications. The JVM went through years of being considered "too slow", yet despite the early critics Java has thrived across the industry.

This book covers a variety of topics from JVM tuning, to benchmarking and profiling. No matter what specific problems you want to address, I would recommend that the first four chapters of the book. I found the "Strategies, Approaches and Methodologies" chapter to be a great introduction to how you can deal with performance tuning in your development process.  

Performance tuning is an art - knowing the tools to use is one thing; being able to interpret the data is another. This book will help you become much better at tweaking your Java applications to be the best they can be. The book descibes how to find your performance issue (JVM or OS level), and dedicated chapters follow up on this activity showing how to profile your Java application with an excellent tips chapter. Worried about CPU usage, or wondering about the data structures used in the application? Bookmark chapter six to help address these concerns.

Perhaps "Tuning the JVM, Step by Step" chapter is one of the most important. Too many times I have seen developers adjust various parameters, and been happy that the issue is fixed, without a real understanding of the options available. This is the part of the book you'll go back to most. Take the time to read the excellent description of the garbage collector - usually taken for granted, a real understanding of GC is essential in performance tuning.

The book also covers how to benchmark applications, and deals with performance issues that you might find in your JavaEE applications. 

 

Comments

Jamie Craane replied on Tue, 2012/01/10 - 1:56pm

Nice review.

There are indeed no recent books available which cover these topics in this detail at once. Just ordered my copy!

Vinay Sambyal replied on Tue, 2012/01/10 - 5:31pm

Topics seem to be covered good. Hope it has taken into Java 7 improvements in account as well. I am getting my copy tomorrow. Hoping for good read on weekend.

Charlie Hunt replied on Wed, 2012/01/11 - 4:29pm

James -- thanks for the positive review.  Glad to hear you found the material useful.  I also like the 'Tuning the JVM Step by Step". It's my favorite.  Folks are also telling me they like the appendix covering command line options, especially the description of what they do and when it's applicable to use them.  Fyi, the appendix doesn't contain all Java HotSpot VM command line options, it contains ones I felt were most applicable to realizing improved performance.

@Vinay -- The book does not contain Java 7 specifics.  However, you shouldn't consider that to mean the material is out of date. The most (performance) interesting features in Java 7, (IMO) off the top of my head, are the Fork/Join Framework and Asynchronous I/O.  At the JVM level, what you'll find in the book is applicable to Java 5, Java 6 and Java 7 when it comes to tuning the JVM and, in general, the performance topics covered in the book. Hopefully you'll find (something in) the book useful.

Kathy Blackmore replied on Mon, 2012/04/23 - 1:53am

There are plenty of books out there that teaches Java to programmers and there are some which touch on the topic of performance, but I think this book covers it the best. As Java applications become more complex, there is a need to make sure that the performance holds up. I would also recommend this book to programmers who want all the options available to them.

 Kathy - http://www.cartridgeshop.co.uk

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.