添加 for-loop 可防止 OutOfMemoryError
2022-09-01 14:35:27
当我删除 for 循环时,我得到一个 .当我使用for-loop时,我没有得到任何错误。OutOfMemoryError
任何人都可以帮助我理解这种行为吗?
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 < 1; 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();
}
}