如何查询数据类型所占的内存空间 用java描述更好

发布网友 发布时间:2022-04-20 02:12

我来回答

4个回答

热心网友 时间:2022-04-03 05:53

通俗的讲:
1.基本数据类型(四类八种):包装类的size字段获得
/*实际上基本数据类型就那四类八种,完全可以记住所占的大小,然后判断类型直接计算得到总共占有多少内存*/
2.数组型通过length属性
3.字符串length()方法

可运行代码:
public class Dd {
public static void main(String args[]){

int a=456653; //int整型,通过包装类Integer:int--》Ingeger
Integer ii=new Integer(a); //通过Integer类包装,将简单类型转换为符合数据类型(类),以便通过Integer的静态方法size得到二进制的位数。
System.out.println("数值为:"+ii); //输出
System.out.println("二进制位数:"+ii.SIZE+"B"+" "+"所占内存字节数为:"+ii.SIZE/8+"b");
//所占内存大小B:位;b表示字节。

/*同理可通过基本数据类型各自的包装类求得short--》Short,double--》Double,char--》Character,long--》Long内存大小*/

/*实际上基本数据类型就那四类八种,完全可以记住所占的大小,然后判断类型直接计算得到总共占有多少内存*/

short shs=34;
Short shor=new Short(shs);
System.out.println("数值为:"+shs);
System.out.println("二进制位数:"+shor.SIZE+"B"+" "+"所占内存字节数为:"+shor.SIZE/8+"b");

/*数组类型:通过属性length获取*/
int [] iis={2,4,3};
System.out.println("数组大小:"+iis.length+" 内存根据计算得到");//获得数组长度,单位是数组内对象的个数,具体占多少内存要根据数组内对象元素所占内存数而计算得到

/*字符串类型的:通过方法length()获得*/
String str="hello";
System.out.println(str);
System.out.println("字符串长度:"+str.length()+" 内存数根据计算得到");
//获得字符串长度,单位是字符数。
//然后根据中文英文字符占有几个字节,数字占有几个字节计算得到内存大小。
}

}

你说的内存空间应该是字节为单位的吧,可以转换成字节计算。
说的有点乱,但愿对你能有所帮助

热心网友 时间:2022-04-03 07:11

Java类型的大小确定所以没有提供sizeof函数
c语言中有
int a=sizeof(int);
可知各种数据类型所占的内存空间追问不可能无法查询吧?

追答大小都确定的,差文档就可以了

热心网友 时间:2022-04-03 08:46

vbvcbvcbcv

热心网友 时间:2022-04-03 10:37

你没问清除,什么数据类型呢?
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com