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)

Java EE and performances

As a reminder, this book is not about Java EE role, so we can't go through all the specifications and detail them all but it is important to understand what Java EE is and what its role is to be able to start working on Java EE performances serenely.

Very often, a small annotation or line of code can hide a lot of logic. The entity manager is a good example: most of the methods are hiding some SQL generation and execution which is not a trivial operation.

With the standardization of CDI in applications, a simple call to a method with a simple complexity can imply to:

  • Validate the call (BeanValidation) which can be impacting if the object graph is huge
  • Validate the logged in user and its permissions (Security API) which can sometimes contact external systems depending on the configuration and implementations
  • An integration of multiple external systems...