我们以一个例子来测试一下:
- import java.lang.management.ClassLoadingMXBean;
- import java.lang.management.CompilationMXBean;
- import java.lang.management.ManagementFactory;
- import java.lang.management.MemoryMXBean;
- import java.lang.management.MemoryManagerMXBean;
- import java.lang.management.MemoryPoolMXBean;
- import java.lang.management.OperatingSystemMXBean;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- import java.util.List;
- public class JDKMBean
- {
- public static <T> void printMXBean(Class<T> t,Object object)
- {
- Method[] methods = t.getMethods();
- T instance = (T)object;
- System.out.printf("%n---%s---%n", t.getName());
- for(Method m:methods)
- {
- if (m.getName().startsWith("get"))
- {
- try
- {
- Object rtValue = m.invoke(instance,new Object[0]);
- System.out.printf("%s:%s%n",m.getName().substring(3),rtValue);
- }
- catch (IllegalArgumentException e1)
- {
- }
- catch (IllegalAccessException e)
- {
- }
- catch (InvocationTargetException e)
- {
- }
- }
- }
- }
- public static <T> void printMXBeans(Class<T> t,List<T> list)
- {
- for(T bean:list)
- {
- printMXBean(t,bean);
- }
- }
- public static void main(String[] args)
- {
- JDKMBean.printMXBean(OperatingSystemMXBean.class,ManagementFactory.getOperatingSystemMXBean());
- JDKMBean.printMXBean(CompilationMXBean.class,ManagementFactory.getCompilationMXBean());
- JDKMBean.printMXBean(ClassLoadingMXBean.class,ManagementFactory.getClassLoadingMXBean());
- JDKMBean.printMXBean(MemoryMXBean.class,ManagementFactory.getMemoryMXBean());
- JDKMBean.printMXBeans(MemoryManagerMXBean.class
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!


