接上一篇的下面提供另一种实现方式:
先看一个类图:
JDK实现了九个自带的MBean,这些MBean能够监视虚拟机的所有信息:分别是如下
ManagementFactory工厂类通过ObjectName可以获取对应的MBean实例,自然就可以获取想要的数据了
2 代码如下:
package pyc.jvm.monitor;
import java.io.IOException;
import java.lang.management.ClassLoadingMXBean;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryUsage;
import java.lang.management.OperatingSystemMXBean;
import java.lang.management.ThreadMXBean;
import java.net.MalformedURLException;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.TimeUnit;
import javax.management.AttributeNotFoundException;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanException;
import javax.management.MBeanServerConnection;
import javax.management.ReflectionException;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
/**
* 创建时间:2014-11-7 上午11:06:34
*