Book Image

Java Memory Management

By : Maaike van Putten, Dr. Seán Kennedy
Book Image

Java Memory Management

By: Maaike van Putten, Dr. Seán Kennedy

Overview of this book

Understanding how Java organizes memory is important for every Java professional, but this particular topic is a common knowledge gap for many software professionals. Having in-depth knowledge of memory functioning and management is incredibly useful in writing and analyzing code, as well as debugging memory problems. In fact, it can be just the knowledge you need to level up your skills and career. In this book, you’ll start by working through the basics of Java memory. After that, you’ll dive into the different segments individually. You’ll explore the stack, the heap, and the Metaspace. Next, you’ll be ready to delve into JVM standard garbage collectors. The book will also show you how to tune, monitor and profile JVM memory management. Later chapters will guide you on how to avoid and spot memory leaks. By the end of this book, you’ll have understood how Java manages memory and how to customize it for the benefit of your applications.
Table of Contents (10 chapters)

Configuring and Monitoring the Memory Management of the JVM

So far, we have looked at the different areas of memory and how it is deallocated, but we have yet to look at optimizing the way a Java Virtual Machine (JVM) does this. The approach that the JVM uses to manage memory can be configured in different ways.

There is not one obvious way to configure the JVM though. The best configuration really depends on the application and the requirements. Getting the best configuration will improve the performance of your application and minimize the memory requirements. Monitoring performance and memory will help discover problems before users do.

In this chapter, we’re going to have a look at how to configure the JVM and monitor memory management. Changing the configurations of the JVM is typically done by tuning, meaning that you have an idea of where to start, then make small adjustments, and carefully measure their impact. Here are the topics that will be discussed: