JDK提供的可视化工具主要有JConsole和VirtualVM。
1. JConsole:Java监视与管理控制台
JConsole(Java Monitoring and Management Console)是一个基于JMX(Java Management Extensions,即Java管理扩展)的可视化监视、管理工具。
管理部分是针对JMX MBean进行管理。
1.1. 概述
界面如下,可以看到包括概述,内存,线程,类,VM概要和MBean:
image.png
概述包括整个虚拟机主要运行数据的概览,包括“堆内存使用情况”,“线程”,“类”,“CPU使用情况”。
1.2 内存
内存页相当于jstat,用于监视收集器管理的虚拟机内存(Java堆和永久代)变化趋势。
以如下代码为例:
/**
*-Xms100m -Xmx100m -XX:+UseSerialGC
*/
public class JConsoleTest {
static class OOMObject {
public byte[] placeholder = new byte[64 * 1024];
}
public static void fillHeap(int num) throws InterruptedException {
Lis