2013-04-16 1 views
2

Java에서는 32 비트 OS에서 54759118 ints를 포함하는 5736 int[] 어레이를 저장합니다. int 프리미티브 각각에 4 바이트가 걸리면 최소 54759118 * 4 = 219036472 bytes ~ 220 megabytes이됩니다. int[] 개체에 대한 참조가 5736이므로이 참조를 저장하는 오버 헤드는 무엇입니까?Java 32 비트 시스템의 메모리 크기 int [] 배열

답변

2

32-bit 포인터는 Java에서 ~ 4 바이트를 할당합니다. 따라서, 그것은 될 것입니다 5736 * 4 = 22944 bytes

+1

거기에 단지 '5736' 참조 –

+0

@Hustusts ups :) 참조) 매우 고맙습니다, 내 부주의. – Andremoniy

+0

고맙습니다. 따라서 이것은 오버 헤드 크기 인 23 메가 바이트입니까? 저장에 사용 된 것이 배열의 길이라고 말합니까? 아니면 내용과 배열 참조가 저장되는 int입니까? –

관련 문제