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

2020-09-17 教育 95阅读
通俗的讲:
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()+" 内存数根据计算得到");
//获得字符串长度,单位是字符数。
//然后根据中文英文字符占有几个字节,数字占有几个字节计算得到内存大小。
}
}
你说的内存空间应该是字节为单位的吧,可以转换成字节计算。
说的有点乱,但愿对你能有所帮助
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com