Improve application performance by tuning, monitoring and profiling both the garbage collector and JVM
Key Features
- Understand the different parts of Java memory and the various garbage collectors so you can select your preferred one
- Explore how memory management can help to effectively improve performance
- Learn how to spot and avoid memory leaks to enhance application performance
Book Description
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.
What you will learn
- Understand the schematics of debugging and how to design the application to perform well
- Discover how garbage collectors work
- Distinguish between various garbage collector implementations
- Identify the metrics required for analyzing application performance
- Configure and monitor JVM memory management
- Identify and solve memory leaks
Who this book is for
This book is for all levels of Java professionals, regardless of whether you're a junior or senior developer, a DevOps engineer, a tester, or the system admin of a Java application. If you currently don't have in-depth knowledge of Java memory, garbage collection, and/or JVM tuning, then this book will help you to take your Java skills to the next level.
Table of Contents
- Different Parts of the Java Memory
- Primitives and Objects in Java Memory
- Zooming in on the heap space
- Freeing the Memory with Garbage Collection
- Zooming in On The Metaspace
- Configuring and Monitoring the Memory Management of the JVM
- Avoiding Memory Leaks
Maaike van Putten is an experienced software developer and Pluralsight, LinkedIn Learning, Udemy, and Bright Boost instructor. She has a passion for software development and helping others get to the next level in their career.
Seán Kennedy is a university lecturer with over 20 years of experience in teaching. He has a PhD in IT and is Oracle-certified in Java at the Professional level (OCP). In his daily work, he teaches Java on a bespoke master’s program for a highly regarded software company. He has a YouTube channel called Let’s Get Certified that teaches Java at all levels and prepares candidates for Java certification. He also has similar courses on Udemy. Outside of work, he enjoys tennis, walking, nature, reading, and TV.