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 how memory is managed with Java, and how to influence it to optimize and adapt it to your application requirements. We also saw how the Java EE server-provided resources help you save time, as they not only enable you to skip reconnection time between usages but also imply a dedicated tuning to not abuse the server memory and CPU.

The idea behind this chapter is to ensure that you have the keys and knowledge to be able to investigate any issue with memory and to be able to tune the memory and resources without being lost or using some random numbers.

Also, this part is probably the most unportable one and will be related to the JVM (for the memory) and server (for the resources) you'll use in your deployment. All the concepts will still apply but the way you tune them can differ, since this is not something standardized yet—even if the...