问题描述
java 中new一个对象占多少内存?要怎么计算呢?
解决方案
Object o=new Object(): 在java中空对象占八个字节,对象的引用占四个字节。所以上面那条语句所占的空间是4byte+8byte=12byte.java中的内存是以8的倍数来分配的,所以分配的内存是16byte.举个例子:Class O{ int i; byte j; String s;}其所占内存的大小是空对象(8)+int(4)+byte(1)+String引用(4)=17byte,因要是8的整数倍,所以其占大小为24byte.当然,如果类里有其他对象的话,也要把其他对象的空间算进去。其实这个在javaeye的电子期刊上有。
解决方案二:
用io流 object流转换成文件流 写到磁盘 看大小 或者用内存流 byteArray 得到了一个字节数组 看数组的长度就知道多少字节了
时间: 2024-08-02 04:41:09