Java Performance
Author: Charlie Hunt & Binu John
Publisher: Addison-Wesley
Pages: 720
ISBN: 978-0137142521
Aimed at: Experienced Java Programmers
Rating: 4.5
Pros: Provides highly technical information in an accessible way
Cons: Bias towards Oracle
Reviewed by: Mike James

Performance is a topic that engages most Java programmers sooner or later. How does this book help?

Author: Charlie Hunt & Binu John
Publisher: Addison-Wesley
Pages: 720
ISBN: 978-0137142521
Aimed at: Experienced Java Programmers
Rating: 4.5
Pros: Provides highly technical information in an accessible way
Cons: Bias towards Oracle
Reviewed by: Mike James

Performance is a topic that engages most Java programmers sooner or later. As everyone knows, Java compiles to an intermediate code which is run on a virtual machine (VM) designed specially for the job. What is less well known is that there is a lot you can do to optimize the performance. This book is all about how to find out what is critical for a particular program and how to make it better.

The most important thing to say about this book is that it is deep. It certainly isn't for beginners and you need to not only know your Java but also quite a lot about machines and low level things in particular. The first few chapters are all about profiling and measuring performance. The basic idea is that you need to know what is causing any performance problems before trying to fix anything. Performance monitoring is also a recurring topic in the remainder of the book for the same reason.

Banner

Things start to get really interesting and specific in Chapter 3 which starts to explain the JVM - memory management, threading, garbage collection and so on. The following two chapters are on performance monitoring and profiling. Chapter 6 is about tuning the application and has a lot of advice that you will have encountered before in general optimization. Chapter 7 moves on to tuning the JVM.

The remainder of the book is on benchmarking various types of applications - multi-tiered, web applications, web services and EJB applications.

The book closes with a look at the command line parameters for the HotSpot VM and sample source code.

The best bits of the book are probably the chapters on the JVM, Chapters 3, 4 and 5, because this is of interest to all Java programmers and it tells you things you want to know about, even if it doesn't turn out to be actually useful. Finding out about the JVM, and in particular the command line parameters that you can use to modify its behavior, is a real eye-opener.

The only negative is that throughout the book there are lots of plugs for Oracle products. Yes, this book has an Oracle bias and there are lots of references to Solaris, NetBeans and Sparc processors.  More importantly it uses the Solaris Performance Analyzer which works with Unix/Linux systems. If you are a Windows programmer, no alternatives such as JProbe are explored.

This is a rare thing - a technical book that isn't afraid to be technical. If you are at all interested in the inner workings of Java, or if you really have a performance problem with a Java application, you need to read at least some of the chapters in this book. It is an excellent addition to any Java bookshelf.


Banner


SQL Server Advanced Troubleshooting and Performance Tuning (O'Reilly)

Author: Dmitri Korotkevitch
Publisher: O'Reilly
Pages: 497
ISBN: 978-1098101923
Print:1098101928
Kindle: B0B197NYD7
Audience: DBAs & database devs
Rating: 5
Reviewer: Ian Stirk

This book aims to improve the performance of your SQL Servers, how does it fare?



Foundational Python For Data Science

Author: Kennedy Behrman
Publisher: Pearson
Pages:256
ISBN: 978-0136624356
Print: 0136624359
Kindle: B095Y6G2QV
Audience: Data scientists
Rating: 4.5
Reviewer: Kay Ewbank

This book sets out to be a simple introduction to Python, specifically how to use it to work with data.


More Reviews

Last Updated ( Tuesday, 20 March 2012 )