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)

Analyzing thread dump

Thread dump analysis is one of the more important techniques of troubleshooting. The Java language is designed as a multi-threaded language. Many business-critical Java applications are designed as to run in multiple threads. This way, your program can perform many different tasks simultaneously. For example, connecting to database, fetching data, processing algorithms, and so on. All these tasks can be performed without waiting on finishing the previous task as each task can run in its own thread. Hence, thread dump can give us a snapshot of each thread’s current execution step in the JVM. It can provide some information about each thread like, such as its id, name, current state, and call stack. The call stack can give us information about the monitor it has locked on as well as if that thread is waiting on other monitor to be released. This can...