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!
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.