当前位置:  技术问答>java相关

问一个比较傻的问题

    来源: 互联网  发布时间:2017-04-28

    本文导语:  请问,我如果有个对象 MyObject xxx = new MyObject(); 我想知道xxx一共占有多少内存,如何取得? c还可以sizeof,但是java呢? | 不要做jvm做的事 | jvm中,好像只能看一共用了多少,但是...

请问,我如果有个对象

MyObject xxx = new MyObject();
我想知道xxx一共占有多少内存,如何取得?

c还可以sizeof,但是java呢?

|
不要做jvm做的事

|
jvm中,好像只能看一共用了多少,但是没有听说过,

要看单个的呀

|
java无需sizeof,这也正引出了垃圾回收器的功用——无需销毁,内存耗尽自动释放、回收。许多人都怀疑这是好是坏,我想两方面的因素都有吧。
有时的确很慢,但自动销毁省去了很多麻烦。当初设计成如此,我想我们也不必多虑,用便是。

|
runtime类中有totalMemory(),maxMemory(),freeMemory()这几个函数让客户端调用,java不提供c++中类似sizeof的语句,因为他有gc机制足够应付了...

|
c++中的sizeof()
难道就能知道对象实际占用的内存?

我不这样认为

|
应该有一些调试器里可以查看把

|
如果这个对象是可序列化的,那么把它序列化之后可以知道它占多少个字节,但如果不是可序列化的,我就不知道怎么办了。

|
呵呵,昨天刚去看了Jbuilder8的发布会,问题可以解决了。
Borland推出了一个产品叫Optimizert(大概是这样写),可以辅助Jb8进行内存的管理工作,在这个软件中你可以看到每个类以及对象所占用的内存大小,并且可以自己控制,对程序进行优化。。。好处多多。
支持Borland!!!

|
这问题一点也不傻啊,关注。

|
关注

|
关注

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3