To obtain a heap dump, one can use the command line “java/bin/jmap -heap:format=b”. The dump can then be analyzed using various tools, such as the standard jhat tool or GUI applications like MAT. Another option is to use code that can take a heap dump over JMX. To examine the heap, a simple tool like VisualVM, which is included with the JDK, can be used.
Mistaking an exception or error being thrown for a JVM crash is creating confusion.
A crash in the JVM is caused by an internal error, which is not possible to induce with a regular Java program, or at least it should not be attempted unless a bug is discovered.
Your actions are causing an Error, which allows the program to keep running until all non-daemon threads have exited.
VisualVM, which is included in the JDK, is the easiest instrument to investigate the heap. To induce a heap dump when encountering an OutOfMemoryError, utilize
jmap [options] pid
The application’s process id is represented by pid.
When you see the below
Exception in thread "main" java.lang.OutOfMemoryError
This implies that the exception handler is responsible for dealing with your error or exception, and it should be noted that this is not a crash.