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)

It will fail, no doubt!

When developing an application, we often spend most of the time on the passing code path, as the code path gives the application its actual feature. However, it is important to not forget all the unexpected cases. It can sound weird to try to solve something we don't control but, here, the idea is to follow the Murphy's law which is often summarized as follows: anything that can go wrong, will go wrong. It doesn't mean that the system will never work, but it means that if there is a potential issue, it will become your reality one day or another.

In terms of a modern system and, more particularly, Java EE deployment, the typical consequence is that you can lose the connectivity to a related resource or application. Another common failure case you can desire to address is about the JVM failing (no more memory, OS issue, and so on), but this...