Java程序,java对象内存占用信息获取
来源:互联网 发布:eve online mac版 编辑:程序博客网 时间:2024/05/22 11:38
在进行数据结构或者算法设计时,需要动态的获取程序或者对象的内存使用情况,现在将一些收集的信息记载如下:
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分析,同时它还支持在MBeans上进行浏览和操作。尽管VisualVM自身要在JDK6这个版本上运行,但是JDK1.4以上版本的程序它都能监控。
如何获取VisualVM
VisualVM的一个最大好处就是,它已经在你的JDK bin目录里了,只要你使用的是JDK1.6 Update7之后的版本。点击一下jvisualvm.exe图标它就可以运行了。
你所需要做的只是点一下jvisualvm.exe,就能启动它。运行中的所有Java应用程序将显示在右边的导航栏。你会发现根本不需要在VisualVM 里亲自为你的应用程序注册,因为它们全都会自动显示出来。你甚至还可以在导航栏里查看到远程的应用程序。
使用VisualVM
VisualVM有很多令人眼前一亮的功能,它能使你:
◆监控应用程序的性能和内存占用情况
◆监控应用程序的线程
◆分析(Profile)应用程序性能和内存分配情况
◆进行线程转储(Thread Dump)或堆转储(Heap Dump)
◆分析核心转储(Core Dump)
◆保存快照以便脱机分析应用程序。
- Java程序,java对象内存占用信息获取
- java 对象内存占用
- 获取java程序运行时内存信息
- 调用Java系统API获取当前程序占用内存
- Java实例对象占用内存
- Java实例对象占用内存
- Java对象的内存占用
- java对象占用多少内存
- 分析java对象内存占用
- java对象占用内存分析
- Java对象内存占用分析
- Java对象内存占用分析
- java程序内存占用分析
- Java代码实现获取安卓手机指定App的流量、CPU和内存占用信息
- 如何计算java对象占用的内存
- 如何计算java对象占用的内存
- 如何计算java对象占用的内存
- 计算Java对象占用的内存
- s3c6410 LCD在uboot下的驱动
- PHP编程学习之路 1
- Java与C++在面向对象基本概念上的区分
- 2011.10.28 poj2421 Constructing Roads 解题报告
- 模式识别网络资源链接
- Java程序,java对象内存占用信息获取
- 计算机视觉文献与代码资源及资料
- js arguments对象说明
- C#事件例子
- 麻省理工学院(MIT)研究生学习指导怎样做研究生
- Objective-C学习-查找文件
- strcpy()、memcpy()、memmove()、memset()的实现
- 中国计算机国家重点实验室、美国计算机前20名学校
- 《Python编程金典》读书笔记 之笔记