如何查询数据类型所占的内存空间 用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
你没问清除,什么数据类型呢?