首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

监控一个运行着的程序,里面有个java对象,怎么实时查看该对象的内存变化情况

2013-07-29 
监控一个运行着的程序,里面有个java对象,如何实时查看该对象的内存变化情况Player play new Player()Pl

监控一个运行着的程序,里面有个java对象,如何实时查看该对象的内存变化情况
Player play = new Player();
Player play2 = new Player();
while(true){
    play.playGames();
    play2.playGames();
}

如何查看play对象和play2对象运行2个小时中的内存情况,峰值什么的,有什么简单易使用的工具请介绍下,或者有什么办法也请说下
[解决办法]
JDK自带的jconsole.exe或jvisualvm.exe
[解决办法]
貌似也是个世界级难题。。。

你会发现查出来内存占用最大的都是 byte[] 或者 char[] 这类,因为工具不会根据对象包含关系来做累计运算的。

所以,如果该对象结构如果比较简单的话,想探知其内存占用,可以将其直接进行对象序列化,那么大致可以知道其内存占用大小。不过如果对象复杂,甚至涉及外设资源啥的,就没啥解了。
[解决办法]
jprofiler挺好用的,你可以试试

热点排行
Bad Request.