Java程序,java对象内存占用信息获取

本文介绍了在Java编程中如何获取程序和对象的内存占用信息,包括使用Runtime类进行简单的内存计算和通过Java Visual VM进行深入分析。Java Visual VM是一个集成多种JDK工具的可视化分析平台,支持性能监控、内存泄漏追踪、垃圾回收分析等功能。
摘要由CSDN通过智能技术生成

在进行数据结构或者算法设计时,需要动态的获取程序或者对象的内存使用情况,现在将一些收集的信息记载如下:

1、JVM运行时Runtime,粗略的获取JVM内存使用情况;

            程序开始时(先调用一下垃圾回收,但是不一定立即执行):

             Runtime.getRuntime().gc();
            long initm=Runtime.getRuntime().freeMemory();

           程序结束时:

            Runtime.getRuntime().gc();
            long endm=Runtime.getRuntime().freeMemory();

          计算空闲差:

             System.out.println(initm-endm);

   注意:该种方法只是获得个大概信息,并不能精确到对象级。

2、使用工具 java visual VM 或者JProfiler

   这里我们使用java visual VM,因为其有更高的开源特性,且为jdk自带。

 VisualVM简介  
      简单说来,VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力。所有这些都是免费的!它囊括的命令行工具包括jstat, JConsole, jstack, jmap 和 jinfo,这些工具与JDK的标准版本是一致的。   
      你可以使用VisualVM生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和CPU分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值