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)

Freeing Memory with Garbage Collection

Allocated memory needs to be deallocated when it is no longer needed. In some languages, the developer needs to take care of that. In some others, such as Java, this happens automatically. For Java, the garbage collector does this. The deallocation of memory is necessary for an application to keep running. Without the ability to free memory when it is no longer needed, we would only be able to allocate memory once, and eventually, we would run out of memory. In this chapter, we will be learning more about freeing memory on the heap using the garbage collector.

This can be a tough topic! Before you are ready for this chapter, you’ll need to have a clear understanding of the heap space. Again, we’ll visualize the concepts as much as possible to increase your understanding.

Here are the topics that will be discussed:

  • Object eligibility for garbage collection (GC)
  • Marking by the garbage collector
  • Sweeping by the...