Solving Java Memory Leaks
One of the more important aspects of the Java Virtual Machine (JVM) is it’s managed memory subsystem. It’s an amazing piece of technology in that it allows developers to allocate a seemingly infinite amount of memory. The reality is that under the covers, the JVM is working on reclaiming all memory that is no longer in use. If the JVM is unable to recover memory, our application will fail with a dreaded OutOfMemoryError.
This workshop will cover several common scenarios that can cause the JVM to fail with an OutOfMemoryError. We’ll explore tooling and methods that can be used to diagnose the cause of an OutOfMemoryError. Finally, this is a workshop meaning you’ll go toe to toe with several applications that are failing with an OutOfMemoryError. Topics that will be covered include:
- Overview of Java heap
- Allocations in Java heap
- GC basics with Mark and Sweep
- Normal life cycle of a Java object
- Common causes of OutOfMemoryError
- Anatomy of a memory leak
- Tools for detecting memory leaks
What you’ll learn and how you can apply it
- Identify the difference between memory leaks in native, class loader and Java heap
- Common causes of memory leaks in Java heap
- The role of the Garbage collector in memory leaks
- Anatomy of a memory leak
- Common causes of memory leaks
- Recipes and tools to characterize memory leaks
This course is for you because…
- You are a Java developer looking to broaden your skills
- You are looking for better ways to solve OutOfMemoryErrors
- Java developers, operations and testers with a least 1 years experience with java
Please install the following on your system:
Your Instructor
Kirk Pepperdine is a distinguished Java Champion and performance expert, widely recognized for his expertise in Java performance tuning. He is the author of Censum, a renowned tool for analyzing Java garbage collection. Currently, Kirk is part of the Microsoft team, where he continues to lead efforts in optimizing Java applications.
Kirk is also a co-founder of JCrete, a well-regarded unconference that brings together Java experts from around the world. He regularly shares his deep knowledge through articles, blogs, and speaking engagements at major industry events. His dedication to improving Java performance and his contributions to the Java community have established him as a leading authority in the field.