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, we saw that properly handling faults in an application is the key to ensuring that you can still control the response time of your system and keep it under control in any circumstance. This is true for any system but with the spreading of microservices, it is even more true for systems using this architecture.

Well, defining how your Java EE application is deployed and what is needed to ensure you control all the potential failures of your system is a full time job; we often forget to work on the main codepath of our applications, but doing so ensures that the production deployment and behavior are sane.

This chapter showed you some common patterns used to handle fault tolerance more or less transparently and reliably.

Logging is another important factor when issues start popping up in a system. It will allow you to investigate what happened and identify...