java mbean获取堆信息_实时取得虚拟机类信息、内存信息、MXBean的使用方法

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学习

计算机软件学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值