OutOfMemoryError, когда закомментированный, казалось бы, не связанный блок кода
Может кто-нибудь объяснить, почему эта программа бросаетOutOfMemoryError
когдаfor
цикл закомментирован? Если это не комментируется, это работает нормально.
Исключение:
Исключение в потоке "main" java.lang.OutOfMemoryError: пространство кучи Java
public class JavaMemoryPuzzlePolite
{
private final int dataSize = (int)(Runtime.getRuntime().maxMemory()* 0.6);
public void f()
{
{
System.out.println(dataSize);
byte[] data = new byte[dataSize];
}
/*
for(int i = 0; i < 10; i++) {
System.out.println("Please be so kind and release memory");
}
*/
System.out.println(dataSize);
byte[] data2 = new byte[dataSize];
}
public static void main(String []args)
{
JavaMemoryPuzzlePolite jmp = new JavaMemoryPuzzlePolite();
jmp.f();
}
}