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)


As this ebook edition doesn't have fixed pagination, the page numbers below are hyperlinked for reference only, based on the printed edition of this book.


ArrayList 31



code sample 32

escaping references issue 36-39

escaping references issue, solving 40, 41

primitive, copying 34

reference, copying 34-36

using 31-34

class loader 8

class loading 78

computer memory 2

main memory, accessing 3

main memory, overview 3, 4

concurrency 11

Concurrent Mark Sweep Garbage Collector (CMS GC) 73, 74

concurrent mode failure 73

copy-and-compact collector 76

C stack 12, 13

current frame 15

threads 16

current method 15


defensive copying 40


Electrically Erasable Programmable Read-Only Memory (EEPROM) 2

escaping references issue

inspecting 31

execution engine 8


G1 (garbage-first) garbage collector 74

garbage collection

eligibility example 56-59