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

各种数据类型所占的内存空间... 各种数据类型所占的内存空间 展开
 我来答
jiao_zg
推荐于2016-04-28 · 超过28用户采纳过TA的回答
知道答主
回答量:47
采纳率:100%
帮助的人:49.6万
展开全部
通俗的讲:
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()+" 内存数根据计算得到");
//获得字符串长度,单位是字符数。
//然后根据中文英文字符占有几个字节,数字占有几个字节计算得到内存大小。
}

}

你说的内存空间应该是字节为单位的吧,可以转换成字节计算。
说的有点乱,但愿对你能有所帮助
672038161
2011-04-27 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:98.9万
展开全部
Java类型的大小确定所以没有提供sizeof函数
c语言中有
int a=sizeof(int);
可知各种数据类型所占的内存空间
追问
不可能无法查询吧?
追答
大小都确定的,差文档就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sgb111111111
2011-04-26
知道答主
回答量:27
采纳率:0%
帮助的人:0
展开全部
vbvcbvcbcv
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyspar520
2011-04-27 · TA获得超过248个赞
知道小有建树答主
回答量:396
采纳率:0%
帮助的人:131万
展开全部
你没问清除,什么数据类型呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式