Book Review: Java Performance by Charlie Hunt & Binu John

James White (LinkedIn) – James has over 10 years of experience in developing and maintaining Java Architectures. As part of prior roles James has experience managing both on and off shore teams. He’s also recently been certified as an Accenture Certified Technical Architect and currently leads Performance Engineering teams within Accenture. The views in this article are purely those of the authors and not those of his employer.


Overview – The Java Performance Book is very near and dear to me.  It was just over three years ago, when I was looking for a good book on Java Diagnostics and how to go about tuning the JVM that I happened to stumble across “Java Performance” by Charlie Hunt and Binu John. This book provided me good insight into Java Performance and how to go about optimizing the Java Virtual Machine for high performance. I sincerely felt that this was the first book on Java diagnostics that truly spoke to me as a developer.

Much of what I read up to that point seemed abstract and didn’t seem to provide immediate help on the issue at hand.  “JavaJava_Performance_Charlie_Hunt Performance” by Charlie Hunt and Binu John helped me understand the issues i was facing and helped me identify root causes of the issues only after going through the first few chapters.  I primarily focused on the Java SE and JVM portions of the book, because that was pretty much what I needed for the tasks at hand, at that point in time. However, I found myself compelled to go back and read this book cover to cover and found the coverage on other aspects of Java such as Java EE, EJB 2.1 & 3.0, Web Services, etc. were also highly useful and informative.

Designed For The Java Performance Engineer – I would highly recommend, “Java Performance” by Charlie Hunt and Binu John to every Java expert out there who has a responsibility to diagnose, trouble shoot and tune Java Applications along with the underlying software and hardware that runs them.  This book does an excellent job of providing deep information on how to benchmark and profile applications, along with how to “warm-up” the JVM for optimal performance. While this is good, it goes a step further by providing the reader good, solid Java code examples that allow you to experiment and gain deeper knowledge of finding performance issues.

The Table Of Content for “Java Performance” includes –

  1. Strategies, Approaches, and Methodologies
  2. Operating System Performance Monitoring
  3. JVM Overview
  4. JVM Performance Monitoring
  5. Java Application Profiling
  6. Java Application Profiling Tips and Tricks
  7. Tuning the JVM, Step by Step
  8. Benchmarking Java Applications
  9. Benchmarking Multitier Applications
  10. Web Application Performance
  11. Web Services Performance
  12. Java Persistence and EJB
  13. Appendix A – JVM Command Line Options of Interest
  14. Appendix B – Source Code for Profiling Tips and Tricks

Caveats – “Java Performance” by Charlie Hunt and Binu John provides a wealth of information on topics related to Java Diagnostics, Tuning and Optimization. The book will help anyone who is tasked with troubleshooting, diagnosing and optimizing the system for high performance. However there were a few things in “Java Performance” that might not appeal to everyone:

  1.       Focuses on Oracle/Sun Products – The testing tool used in the book is Solaris Studios Performance Analyzer.  Performance Analyzer only works in UNIX environments and is only supported in a small subset of UNIX operating systems.  However, VisualVM and JConsole are also discussed which do work in Windows environments.  For the Java EE and web server based examples Glassfish and its tool set are the only ones discussed.
  2.       Very UNIX centered – There are a few pages dedicated to Windows performance monitoring, but 95 percent of this book is dedicated to Unix.  With that said the code examples can be applied on any operating system that runs Java.
  3.       Slightly dated material – This book is awesome if you are working with Java SE 6 or Java EE 5/6, but becomes slightly outdated for Java 7 and 8 based programming.  REST based web services are not discussed in the Web Services Chapter.
  4.       If you are into specific formulas you probably won’t find them – While there are chapters that get into the statistical analysis and formulas.  You won’t find long detailed explanations of Little’s Law or Queuing Theory.  This book focuses on what you need to test and diagnosis Java based issues.

Overall, if you want to learn the tips and tricks that come with JVM tuning  and writing better performing code,  for Java SE, Java EE, Web Services, and EJB programming, “Java Performance” by Charlie Hunt and Binu John is a must read.  Most of what you will pick up from this book will carry forward to Java 7 & 8, and the code examples are worth the price of the book alone.  This book should be a part of any Java Developer or Java based Performance Engineer’s library, especially if the applications you work with are written in Java 6.


James White (LinkedIn) – James has over 10 years of experience in developing and maintaining Java Architectures. As pJames_Whiteart of prior roles James has experience managing both on and off shore teams. He’s also recently been certified as an Accenture Certified Technical Architect. Prior to Accenture, James worked as a senior developer for Delta Dental where he was the primary developer for the company’s most critical application which processed billions of dollars worth of dental claims annually. James has also worked as part of the performance testing team and has experience in developing test scripts for load and stress testing.

The views in this article are purely those of the authors and not the views of his employer.

Java Performance

Price: $47.51

4.3 out of 5 stars (38 customer reviews)

42 used & new available from $25.75

Java Performance Tuning (2nd Edition)

Price: $35.00

3.5 out of 5 stars (19 customer reviews)

37 used & new available from $3.00

Related Posts

  • Java Performance : The Definitive Guide Java Performance : The Definitive Guide "Java Performance : The Definitive Guide" by Scott Oaks will soon hit the book shelves through Oreilly. Our resident Java Guru Jason Koch (LinkedIn)  brings you a sneak preview of what the book has to offer. Jason Koch is a Java Performance Architect with 6 years technical delivery […]
  • The Box: A Shortcut to finding Performance Bottlenecks by Kirk PepperdineThe Box: A Shortcut to finding Performance Bottlenecks by Kirk Pepperdine Quite often performance problems will be reported with some very antidotal comments that do nothing to help you understand where to start looking. Faced with this dilemma, it is not uncommon for teams to start guessing at the root cause. Now enter "the box", a little diagram that is an […]
  • Java Performance Optimization Series – Eva Andreasson at JavaworldJava Performance Optimization Series – Eva Andreasson at Javaworld This series of articles will help any Performance Engineer or Java developer learn more about the underlying layers of the JVM and what a JVM really does under the hood. The author Eva Andreasson (at JavaWorld.com) talks at a high level about the key components of a Java Virtual Machine […]
  • Are You Really Out Of Memory – Part IIAre You Really Out Of Memory – Part II In this series of articles Nikita Salnikov-Tarnovski (LinkedIn), the co-founder of Plumbr discusses the performance and stability issues in Enterprise Java applications due to memory leaks. Nikita goes on to talk about various approaches to identifying memory leaks through the use of […]