Я пытаюсь создать массив целых чисел (я пытался с собственным объектом, но то же самое случилось с int), размером 30 миллионов.я продолжаю получать «OutOfMemoryError: пространство кучи Java»
Integer [] index = new Integer[30000000];
for (int i = 0 ; i < 30000000 ; i++){
index[i] = i;
}
я проверил общее пространство кучи, используя «Runtime.getRuntime (). totalMemory ()» и «maxMemory ()», и увидел, что я начинаю с64 МБ, максимальный - 900+ МБ, и во время бега я получаю 900+ на куче и разгроме.
теперь я знаю, что Integer занимает 4 байта, поэтому даже если я умножу 30 * 4 * 1000000, я все равно получу только около 150-100 мега.
, если я попробую с примитивным типом,как int, это работает.
как я могу это исправить?