如何通过一个对象实例,获得该实例目前在jvm占用内存大小?考虑到该实例可能具有String或者数组类型,java.lang.reflect应该不能解决。
解决方案 »
- SWT问题-向Shell里面添加组件报错
- eclipse 打包成 .jar 后图片无法加载
- 有做过XSD校验XML文件的没,帮指点一下
- JAVA前辈(100分)帮忙看看小弟该如何是好??
- 求教:ibatis中sqlmap中建立一个有特殊需要insert方法?急!!
- 学习《Java正则表达式详解》中举的第一个例子后,一个问题:
- 关于j2sdk的logger??
- 急急急,谁知道怎么用java生成excel报表?
- 高分请教关于用java实现的telnet原代码在线等待
- 需要Borland Enterprise Server 5.0的下载地址(高分相送)
- 请问各位大哥大姐,有什么 方法 把页面上的内容保存为 execl 格式? 谢谢,分不够再加!
- 请教一个连接数据库的问题!急!
因为至少API没有提供这样的方法
但不知道,你要这个有什么用,
整个程序的内存使用情况,内存释放情况,甚至那个函数的cpu使用时间片都一目了然,
强烈推荐。
原来还是真的没有去关心内存问题。
只是知道jvm会自己搞定这些事情。
这上面有比较详细的描述:
3.4 Reference Types and Values
There are three kinds of reference types: class types, array types, and interface types. Their values are references to dynamically created class instances, arrays, or class instances or arrays that implement interfaces, respectively. A reference value may also be the special null reference, a reference to no object, which will be denoted here by null. The null reference initially has no runtime type, but may be cast to any type (§2.4).
这本书也有中文版,个人感觉:很不错(如果想深入了解jvm的话)一个字通常都是主机平台的指针大小,在32位平台上,字是32位,指针是32位
String对象的值是一个个char值,它占用的内存空间是按照基本变量char来分配空间,关于数组,也特殊。它是根据数组声明是的类型以及数组的引用来分配的,例:声明了int [] i1 = new int[]{1,2};
类型分配就是按照int型初始化的,在这里分配空间是i1[0],i1[1]
上面的数组引用分配空间也就2个吧:i1[0],i1[1]以上资料来自《java virtual machine》
希望对楼主有帮助