Java中int类型数组创建时是否会分配全部所需内存?及验证方法咨询
Java中int类型数组创建时是否会分配全部所需内存?及验证方法咨询
先跟大家说一声,别着急把这个问题标记成重复的哦,它和下面这些问题都不相关:
- 如何计算Java数组的内存大小?
- 32位系统中Java int[]数组的内存大小
在Java里创建基本类型int的数组时,比如写这段代码:
int[] arr = new int[1000];
想问下,JVM执行完这行代码后,是不是会直接分配整个数组所需的内存(也就是数组长度1000乘以int类型的4字节,总共4000字节)?这里我们先不去纠结数组头这类固定的额外开销哈。
我自己的理解是,像int、double这类基本数值类型,它们的默认值0本身也是有效的数值,是需要占用内存空间的,所以这类数组在声明的时候,应该就会一次性分配好全部所需的内存。
那我该怎么验证这个想法是对的呢?
备注:内容来源于stack exchange,提问作者RRM
相关产品推荐
相关产品推荐

