有多少堆空间需要数组对象?我的意思是不是数组引用。 例如,有多少堆空间将占用此数组
Integer[] array = new Integer[5];
或者您可能知道如何测试我的应用程序的内存使用情况?任何建议和意见将不胜感激)
提前致谢!
答案 0 :(得分:0)
这取决于数组是否是基本类型的对象类型。如果是 int [] = new int [5]它将是内存大小的5倍 - 5x4 = 20个字节。
如果它是Object而不是像你的情况那样原始(整数)那么使用的内存是对象的数量乘以参考内存大小(指针大小) - 32位或64位,具体取决于JVM。
答案 1 :(得分:-1)
我相信你的意思是:
Integer[] array = new Integer[5];
使用时整数是4个字节...所以4 * 5 = 20个字节。但是除此之外还有更多的东西......数组中的某些开销就是这样,而且你使用的是Integer类,而不仅仅是:
int[] array = new int[5];
我建议谷歌尝试更多解释或回答: Calculating Java Array Memory Usuage