Java VisualVM is a tool that provides a visual interface forviewing detailed information about Java applications while they arerunning on a Java Virtual Machine (JVM), and for troubleshootingand profiling these applications. Various optional tools, includingJava VisualVM, are provided with Sun's distribution of the JavaDevelopment Kit (JDK) for retrieving different types of data aboutrunning JVM software instances. For example, most of the previouslystandalone tools JConsole,jstat,jinfo,jstack, andjmap arepart of Java VisualVM. Java VisualVM federates these tools toobtain data from the JVM software, then re-organizes and presentsthe information graphically, to enable you to view different dataabout multiple Java applications uniformly, whether they arerunning locally or on remote machines. Furthermore, developers canextend Java VisualVM to add new functionality by creating andposting plug-ins to the tool's built-in update center.
Java VisualVM can be used by Java application developers totroubleshoot applications and to monitor and improve theapplications' performance. Java VisualVM can allow developers togenerate and analyse heap dumps, track down memory leaks, browsethe platform's MBeans and perform operations on those MBeans,perform and monitor garbage collection, and perform lightweightmemory and CPU profiling.
Java VisualVM was first bundled with the the Java platform,Standard Edition (Java SE) in JDK version 6, update 7.