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)

Looking Under the Cover – What is This EE Thing?

Java EE can appear as a magic tool for deployment. However, it is actually just Java code. This chapter intends to look under the cover of the server and ensure that you understand what implications you should expect from the performance of your application. Since covering the entire Java EE space is quite impossible, this chapter will deal with the most common patterns and main specifications.
In this chapter, we will go through some commonly used specifications, and check out what their role is and what you should expect in terms of the impact on your runtime. In the end, you should be able to do the following:

  • Know the services that you can expect from your container and the high-level associated overhead
  • Evaluate whether a code pattern can impact the performance
  • Judge whether your runtime (Java EE) overhead is normal...