Book Image

Java 9 High Performance

By : Mayur Ramgir, Nick Samoylov
Book Image

Java 9 High Performance

By: Mayur Ramgir, Nick Samoylov

Overview of this book

Finally, a book that focuses on the practicalities rather than theory of Java application performance tuning. This book will be your one-stop guide to optimize the performance of your Java applications. We will begin by understanding the new features and APIs of Java 9. You will then be taught the practicalities of Java application performance tuning, how to make the best use of garbage collector, and find out how to optimize code with microbenchmarking. Moving ahead, you will be introduced to multithreading and learning about concurrent programming with Java 9 to build highly concurrent and efficient applications. You will learn how to fine tune your Java code for best results. You will discover techniques on how to benchmark performance and reduce various bottlenecks in your applications. We'll also cover best practices of Java programming that will help you improve the quality of your codebase. By the end of the book, you will be armed with the knowledge to build and deploy efficient, scalable, and concurrent applications in Java.
Table of Contents (11 chapters)

Why a developer should use a profiling tool

It does not matter how proficient a developer is; the fact remains that in spite of the most meticulous attention to detail, the odds are that actual code will not run at peak performance levels around which it has been designed, at least not the first time in its generation. The actual speed of the code versus its theoretical speed tends to differ to a great degree.

This is because there are a lot of elements that combine to create a visible gap between the two. In order to substantially decrease that gap (with the core aim of ultimately closing it altogether), all code must be debugged, analyzed, and reviewed again and again until it has been determined that all of its bugs have been removed and it is running as fast and as efficiently as it had been initially designed to do so.

But the question is how to go about achieving this? That...