Java Memory Management: Garbage Collection, JVM Tuning, and Spotting Memory Leaks
1h 7mAdvanced2022-03-04
Authors
Maaike van Putten
Trainer and Developer for Java, Python, Spring Boot, and More
Course details
In this course, Java developer Maaike van Putten takes an in-depth look at one of the toughest topics in Java, memory management. Maaike starts with garbage collection, from an overview of the basics, to the different phases of garbage collection, to the varying implementations. She then details the facets of tuning the Java virtual machine, including how and why to choose the different options for the heap size and how to get metrics to see what is going on inside the JVM with the memory and garbage collection. Lastly, Maaike teaches you about memory leaks—what they are, how to spot them, and how to avoid them. If you’re looking for ways to solve your Java memory problems, join Maaike in this course.
Skills covered
JavaProgramming FoundationsOracleProgramming LanguagesSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Welcome
- 02 - What you need to know
1. Garbage Collection
- 03 - Introduction to the garbage collector
- 04 - Eligible for garbage collection
- 05 - Garbage collection phase - Marking
- 06 - Garbage collection phase - Sweeping
- 07 - Different generations on the heap
- 08 - Generational garbage collection
- 09 - Different garbage collection implementations
- 10 - Monitoring garbage collection
2. JVM Tuning
- 11 - What is JVM tuning
- 12 - Getting JVM metrics
- 13 - Heap size and heap dumps
- 14 - MetaSpace size
- 15 - Garbage collection tuning
3. Memory Leaks
- 16 - What are memory leaks
- 17 - Spotting memory leaks
- 18 - Avoiding and solving memory leaks
Conclusion
- 19 - Conclusion