Java 使用2D数组时超出了内存限制

Java 使用2D数组时超出了内存限制,java,multidimensional-array,memory-limit,Java,Multidimensional Array,Memory Limit,这行代码在长度为100000时创建了一条错误消息“内存限制已超出”,我不太明白为什么 int[][] multiply = new int[length][length]; 您尝试创建一个100000*100000条目的数组,每个条目可能有4个字节。 也就是40000000000字节,大约40GB。即使您安装了这种内存,系统也可能早在这之前就实施了一些限制。您尝试创建一个100000*100000条目的数组,每个条目可能有4个字节。 也就是40000000000字节,大约40GB。即使您安装了

这行代码在长度为100000时创建了一条错误消息“内存限制已超出”,我不太明白为什么

int[][] multiply = new int[length][length];

您尝试创建一个100000*100000条目的数组,每个条目可能有4个字节。

也就是40000000000字节,大约40GB。即使您安装了这种内存,系统也可能早在这之前就实施了一些限制。

您尝试创建一个100000*100000条目的数组,每个条目可能有4个字节。
也就是40000000000字节,大约40GB。即使您安装了这种内存,系统也可能早在这之前就实施了一些限制。

java-Xmx40G
应该对每个人都足够了——比尔·盖茨;)<代码>java-Xmx40G应该对每个人都足够了-比尔·盖茨;)