假设我们的最大内存为256M,为什么这段代码有效:
public static void main(String... args) {
for (int i = 0; i < 2; i++)
{
byte[] a1 = new byte[150000000];
}
byte[] a2 = new byte[150000000];
}
Run Code Online (Sandbox Code Playgroud)
但是这个扔了一个OOME?
public static void main(String... args) {
//for (int i = 0; i < 2; i++)
{
byte[] a1 = new byte[150000000];
}
byte[] a2 = new byte[150000000];
}
Run Code Online (Sandbox Code Playgroud)