import java.lang.management.ClassLoadingMXBean;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryUsage;
import java.lang.management.RuntimeMXBean;
java学习 java培训 软件工程师 如何学习java
学习java哪里好 东方清软java培训 清软国际java学习 计算机软件学习
public class Test extends Thread{
RuntimeMXBean mxbean;
java学习 java培训 软件工程师 如何学习java
学习java哪里好 东方清软java培训 清软国际java学习 计算机软件学习
private void setFactory(){
mxbean = ManagementFactory.getRuntimeMXBean();
//以下是取得虚拟机的属性
System.out.println(mxbean.getVmVendor());
System.out.println(mxbean.getVmName());
System.out.println(mxbean.getClassPath());
//类管理接口java学习
java培训 软件工程师 如何学习java 学习java哪里好 东方清软java培训 清软国际java学习
计算机软件学习
ClassLoadingMXBean
aClassLoadingMXBean=ManagementFactory.getClassLoadingMXBean();
System.out.println(aClassLoadingMXBean.getLoadedClassCount());
//内存管理接口java学习
java培训 软件工程师 如何学习java 学习java哪里好 东方清软java培训 清软国际java学习
计算机软件学习
MemoryMXBean
aMemoryMXBean=ManagementFactory.getMemoryMXBean();
System.out.println(aMemoryMXBean.getObjectPendingFinalizationCount());//返回其终止被挂起的对象的近似数目
//返回 Java 虚拟机使用的非堆内存的当前使用量
MemoryUsage aMemoryUsage=aMemoryMXBean.getNonHeapMemoryUsage();
java学习 java培训 软件工程师 如何学习java
学习java哪里好 东方清软java培训 清软国际java学习 计算机软件学习
//虚拟机启动时从系统得到的内存(以字节为单位)
System.out.println("虚拟机启动时从系统得到的内存:"+aMemoryUsage.getInit());
//表示当前已经使用的内存量(以字节为单位)
System.out.println("当前已经使用的内存量:"+aMemoryUsage.getUsed());
java学习 java培训 软件工程师 如何学习java
学习java哪里好 东方清软java培训 清软国际java学习 计算机软件学习
//表示保证可以由 Java 虚拟机使用的内存量(以字节为单位)
System.out.println("保证可以由 Java
虚拟机使用的内存量:"+aMemoryUsage.getCommitted());
//表示可以用于内存管理的最大内存量(以字节为单位)
System.out.println("内存管理的最大内存量:"+aMemoryUsage.getMax());
System.out.println("总体描述:"+aMemoryUsage.toString());
}java学习
java培训 软件工程师 如何学习java 学习java哪里好 东方清软java培训 清软国际java学习
计算机软件学习
public void run(){
try {
while(true){
setFactory();
sleep(1000);
}java学习
java培训 软件工程师 如何学习java 学习java哪里好 东方清软java培训 清软国际java学习
计算机软件学习
} catch (InterruptedException e) {
e.printStackTrace();
}
}java学习
java培训 软件工程师 如何学习java 学习java哪里好 东方清软java培训 清软国际java学习
计算机软件学习
public static void main(String[] args) {
Test aTest=new Test();
aTest.start();
}
}java学习
java培训 软件工程师 如何学习java 学习java哪里好 东方清软java培训 清软国际java学习
计算机软件学习
运行结果:
C:\java>java Test
Sun Microsystems Inc.
Java HotSpot(TM) Client VM
.;c:\jdk1.5\lib
306
0java学习
java培训 软件工程师 如何学习java 学习java哪里好 东方清软java培训 清软国际java学习
计算机软件学习
虚拟机启动时从系统得到的内存:29556736
当前已经使用的内存量:12362144
保证可以由 Java 虚拟机使用的内存量:29851648
内存管理的最大内存量:121634816
总体描述:init = 29556736(28864K) used = 12362144(12072K) committed =
29851648(29152K) max = 121634816(118784K)
如果你想要给自己的软件提供这样的检测接口,那么只要做一个MBeanServer就可以了。这是一个相当不错的想法。java学习
java培训 软件工程师 如何学习java 学习java哪里好 东方清软java培训 清软国际java学习
计算机软件学习
java学习 java培训 软件工程师 如何学习java 学习java哪里好 东方清软java培训 清软国际java学习
计算机软件学习