在Java中,如何在它声明之后分配给数组的检查字节数? 例如:
int[] a = new int[10];
阵列' a'因为int的大小是4个字节并且有10个整数元素,所以分配4 * 10个字节。有非手动方式吗?
答案 0 :(得分:1)
在Java中,C中没有类似sizeof
的运算符来获取数组元素的大小。所以至少没有直截了当的方式。
顺便说一句,在声明期间,仅在初始化期间没有分配内存。
声明:
int[] a;
初始化:
a = new int[10];
答案 1 :(得分:1)
实际上int[10]
的大小是56字节或更多(取决于您的JVM)。
但这完全取决于操作系统的JVM和内存架构。 java.lang.instrumentation.Instrumentation
提供了一种计算对象大小的方法,如this answer中所述。