Java中基本数据类型内存占用

数据类型内存占用字节数
byte1
short2
int4
long8
float4
double8
boolean1
char2
  • 计算机访问内存时是一次一个字节

    其中每8位为一个字节

    1011 1101 1111 0000 (前8位一个字节,后8位一个字节)

  • 一个应用(机器地址)需要8个字节表示

    创建一个对象,那么这个对象需要占用8个字节表示

  • 当创建一个对象时,如new Object(),除了Object对象内部储存的数据占用的内存

    该对象本身也有内存开销,每个对象的自身开销是16个字节,用来保存对象的头信息。

  • 一般内存的使用,如果不够8个字节,都会被自动填充为8个字节

    	public class Demo{
    		public int num = 1;
    	}
    

    通过new Demo()创建一个对象的内存占用如下:

    1. 整型成员变量num占用4个字节;
    2. 对象本身占用16个字节;

    那么创建该对象总共需要20个字节,但由于不是以8为单位,会自动填充为24个字节

  • java中数组被限定为对象,他们一般都会因为记录长度而需要额外的内存,一个原始数组类型的数据一般需要24字节的头信息(16个字节对象开销,4字节用于保存长度以及4个填充字节),再加上保存值所需的内存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值