Я пытаюсь создать 2D-массив, как показано ниже.
int NUM_RECORDS = 100480507;
byte[][] completeArray = new byte[NUM_RECORDS][6];
Разве не достаточно иметь 100480507 * 6 ~= 0,6 ГБ
См. Этот вопрос тоже.
Но при создании этого массива не хватает памяти. Я выделил 4G для своего Java-процесса через аргументы JVM.
Как это можно объяснить? Я что-то упустил?
Это моя программа
public class MemTest {
public static void main(String[] args) {
int NUM_RECORDS = 100480507;
byte[][] completeArray = new byte[NUM_RECORDS][6];
System.out.println("Array created");
}
}
Подробнее здесь: https://stackoverflow.com/questions/146 ... y-2d-array