谁知道如何得到java中某一个对象所占用的内存是多大?要求精确的知道 java中好像没有办法,只能一个个去算可以要求sun给一个sizeof方法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sizeof()在C\C++中才有的,因为在不同的系统中对象的大小是不定的,而在java中基本类型和对象的大小是固定的,换句话说在不同的系统下都是相同的。这样通过虚拟机可在一个系统中编译,在不同的系统中运行。实现sizeof()的方法是没有意义的。 无论在java还是在c++中,静态函数和普通函数是不占对象的大小的(虚函数占4个字节),只有非静态成员变量才占空间大小。(C++变量的声明次序也决定对象的大小) 你可以将某个对象定义成数组(元素要多),这样有一部分对象就会在内存中依次分配地址(不一定去不如此,但元素多时会有几个连续的),找出这几个用他们的toString()方法(没有被重写的)得到他们的地址,然后就不用我说了 目前的Java虚拟机的内存管理机制还不完善。无法准确完成,不信可查看Java虚拟机规范。 是啊,查了好多地方。看来这个问题目前是无解了。有一点始终不明白,java自称自己是面向对象的语言,但是却连自己在内存中的所有对象一共加起来有多少这个问题,却没有很快捷或者清晰的方法得出。不过,想想也对,如果一个英语高手,你问他单词量有多少,估计他也只能说个大概。一个朋友提醒我的一个方法,是计算时间差,然后多次算平均值。这样,太费事了。而且还不准确。 VVV_lucky(*太阳*) 运行时的当然可以知道,编译时的目前来说应该无法知道。 关注,不过觉得 0flying0(小笨猫) 说得有点道理。 javacomte(基督山伯爵) 你可以将某个对象定义成数组(元素要多),这样有一部分对象就会在内存中依次分配地址(不一定去不如此,但元素多时会有几个连续的),找出这几个用他们的toString()方法(没有被重写的)得到他们的地址,然后就不用我说了--------------------------------------------------------------------------这方法不错,,,支持。。 利用哈弗曼编码压缩文件时按字符编码和按字节编码有什么区别? 正则表达式匹配 正整数n的立方可以表示为n个连续奇数的和,如何实现 调了一天了也没成功 求解答 多谢! 如何用Java来截取IP数据包 JTable如何设某行只读 HttpServlet路径问题(在线等) 请问一下Java里面的异或怎么表示?? 如何输出中文? win2000下如何设置tomcat4.0的运行环境:(请高手不吝赐教,thx XML+java高手帮忙。 怎样让弹出的JDialog窗口一直处在最前端?
看来这个问题目前是无解了。
有一点始终不明白,java自称自己是面向对象的语言,但是却连自己在内存中的所有对象一共加起来有多少这个问题,却没有很快捷或者清晰的方法得出。不过,想想也对,如果一个英语高手,你问他单词量有多少,估计他也只能说个大概。一个朋友提醒我的一个方法,是计算时间差,然后多次算平均值。这样,太费事了。而且还不准确。
运行时的当然可以知道,编译时的目前来说应该无法知道。
不过觉得 0flying0(小笨猫) 说得有点道理。
你可以将某个对象定义成数组(元素要多),这样有一部分对象就会在内存中依次分配地址(不一定去不如此,但元素多时会有几个连续的),找出这几个用他们的toString()方法(没有被重写的)得到他们的地址,然后就不用我说了
--------------------------------------------------------------------------这方法不错,,,
支持。。