Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Solving Java Memory Leaks
0. Preamble
Hiking with Kirk and Talking about Memory Leaks (34:46)
1. Introduction
1. Welcome (1:19)
Git Repository for Exercises
1.1. Course Overview (1:17)
1.2. W5 of any Investigation (1:01)
1.3. Memory Leak Definition (0:30)
2. Native and Java Memory Spaces
2. JVM Memory Layout (0:43)
2.1. JVM in RAM (0:32)
2.2. Unmanaged Memory (0:40)
2.2.1. Unmanaged Leaks (2:41)
2.2.2. Native Leaks in the JVM (6:27)
2.3. Java Heap (1:07)
2.3.1. Managed Memory (2:53)
2.3.2. Managed Leaks (6:11)
3. Monitoring Java Heap
3.1. GC Frequency (0:53)
3. Monitoring Java Heap (1:51)
3.2. Tools to Monitor Java Heap (9:25)
3.3. A Quick Word on Benchmarking (6:20)
3.4. Monitoring Leaky Demo (11:43)
3.4.1. Histogram of Live Objects (5:32)
Exercise Time
Exercise 1
Setting up the Environment (7:41)
Exercise 1 Walkthrough using the jcmd tool (5:04)
Exercise 1 Walkthrough using the VisualVM tool (18:05)
Exercise 1 Walkthrough using MAT and JMC (11:57)
4. Allocation and Garbage Collection
4. Allocations in Java Heap (7:25)
4.1. Garbage Collection Cycle (2:40)
4.2. Managed Revisited (5:52)
5. Characterizing Memory Leaks
5. Typical Causes (3:47)
5.1. Generational Count Definition (3:22)
5.1.1. Object Lifecycles (6:15)
5.1.2. Memory Leak Triage Recipe (0:42)
5.2. Inspecting the Memory Leak with VisualVM (22:09)
5.3. Anatomy of a Memory Leak (8:44)
5.4. Object Profiling Headaches (3:03)
5.5. Dominators (1:26)
5.6. Memory Leak Triage Recipe (1:48)
5.7. Demo of Analysis with MAT and JMC (22:19)
6. Class Loader Leaks
6. Class Loader Leaks (3:49)
6.1. ClassLoaders pre Java 9 (1:21)
6.2. ClassLoaders since Java 9 (2:54)
6.3. Class, ClassLoader and Thread (0:32)
6.4. Static Leaks (2:44)
6.5. Metaspace (2:45)
7. Q&A and Open Discussion
7. Q&A and Open Discussion (40:01)
Teach online with
3.3. A Quick Word on Benchmarking
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock