Another tool that is indigenous to the Java Virtual Machine (JVM) is VisualVM. Its developers tout it as a visual tool integrating several command-line JDK tools and lightweight profiling capabilities. This makes it a very handy tool indeed to conduct a postmortem after an application crash, or in a less serious case, once a critical error or performance issue has been clearly understood. As a general rule, customers are the first people to point out any faults in an application, and moreover, they want them resolved as soon as possible. VisualVM can be of great help in this regard.
However, the biggest issue by far with VisualVM is that it is essentially what many professional developers colloquially refer to as a brute force profiler ...