How to analyze JVM thread dumps

When your java application is getting unresponsive or requests are taking time, taking thread dumps will help find the cause.
A collection of 2 posts
When your java application is getting unresponsive or requests are taking time, taking thread dumps will help find the cause.
Below is one example of analyzing heap dump to know which objects are responsible for JVM out of memory.