Book Image

Java EE 8 High Performance

By : Romain Manni-Bucau
Book Image

Java EE 8 High Performance

By: Romain Manni-Bucau

Overview of this book

The ease with which we write applications has been increasing, but with this comes the need to address their performance. A balancing act between easily implementing complex applications and keeping their performance optimal is a present-day need. In this book, we explore how to achieve this crucial balance while developing and deploying applications with Java EE 8. The book starts by analyzing various Java EE specifications to identify those potentially affecting performance adversely. Then, we move on to monitoring techniques that enable us to identify performance bottlenecks and optimize performance metrics. Next, we look at techniques that help us achieve high performance: memory optimization, concurrency, multi-threading, scaling, and caching. We also look at fault tolerance solutions and the importance of logging. Lastly, you will learn to benchmark your application and also implement solutions for continuous performance evaluation. By the end of the book, you will have gained insights into various techniques and solutions that will help create high-performance applications in the Java EE 8 environment.
Table of Contents (12 chapters)

Summary

In this chapter, you saw how Java EE ensures that you can parallelize the computing of your applications, and make your applications scale better and process multiple concurrent requests.

Using Java Standalone synchronization mechanisms, Java EE threading management solutions and API will let you get the best out of your hardware and integrate with third-party libraries very easily.

Now that we have seen what is related to the CPU, we need to go through the machine's other main resource that you can exploit to make your application's behavior better: the memory. When processing can't be optimized and is too impacting on the application, the solution is often just to skip it as much as possible. The most common—and probably, efficientway of doing so is to make sure that the data is computed once and reused while valid. This is where the caching...