一个Java对象到底占多大内存

 我来答
千锋教育
2016-07-18 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
第一问中,integer,Double是可以准确知道大小的 java中int double(包装类分别是Integer和Double,实际是一样的)分别占用的大小是4B 和8B 这里说的B,就是我们通常说的KB中的那个B,全称是Byte。 1B = 8bit。 所以我们通常会说int是32位,有时候又4字节 而String他是有char数组组成,一个长度为10的String,占用的char就是10个,一个char是2B。 所以看String占多少内存,需要知道String的长度 二问中:答案是可以的 摘自ObjectOutPutStream的API说明 FileOutputStream fos = new FileOutputStream("t.tmp"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeInt(12345); oos.writeObject("Today"); oos.writeObject(new Date()); oos.close();
心若00止水
2016-07-18 · TA获得超过603个赞
知道小有建树答主
回答量:307
采纳率:100%
帮助的人:62.6万
展开全部
对象头(Header)对象头在32位系统上占用8bytes,64位系统上占用16bytes。
实例数据(Instance Data)) 是那几个占多大这个应该不用我说了吧,有点基础的应该都知道。
对齐填充(Padding)HotSpot的对齐方式为8字节对齐。
指针压缩 对象占用的内存大小收到VM参数UseCompressedOops的影响。
数组对象 64位机器上,数组对象的对象头占用24个字节,启用压缩之后占用16个字节
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式