So it happens. Sometimes a Java program just “dies” with the dreaded Out-of-memory Exception. Sometimes, it leaves behind a “heap dump”, or a copy of what the Java program had in memory when just before it throw the Out-of-memory exception. For some devs, a heap dump is stressful, because they think is a black box with only mysteries, but we are here to calm your fears!
In this episode we show how Heap dumps are your friends! If you happen to have one, then is almost assured that you can find what caused the out-of-memory, and/or you can “see” what the real values of configuration were. For troubleshooting a production incident, a heap dump becomes invaluable since “nothing” hides from it. Doesn’t matter where the code came from, a heap dump will have exactly what each variable was holding and who might be responsible for a memory leak!
“Memory leak you say? I thought java didn’t have memory leaks!”. Well, that’s the other part of this episode where we discuss while Java has way less worries than (say c++) on allocating and deallocating memory, you can still create Memory leaks by having strong referenced objects that are never removed (and if that sounded like mumbo jumbo, even a better excuse to listen to this episode)
So, we survived 2020. Take a listen to this end-of-the-year episode, and be even more ready for whatever 2021 throws at us!
We thank DataDogHQ for sponsoring this podcast episode
Don’t forget to SUBSCRIBE to our cool NewsCast OffHeap!
http://www.javaoffheap.com/
How to capture a Heap Dump
https://www.baeldung.com/java-heap-dump-capture
Eclipse Memory Analyzer
https://www.eclipse.org/mat/
VisualVM
https://visualvm.github.io/
Do you like the episodes? Want more? Help us out! Buy us a beer!
https://www.javapubhouse.com/beer
And Follow us!
https://www.twitter.com/javapubhouse