使用二维数组超出内存限制

Memory limit exceeded with the use of a 2D array

当长度为 100,000 时,这行代码会创建一条错误消息 "Memory limit exceeded",我不太明白为什么。

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

您尝试创建一个包含 100,000 * 100,000 个条目的数组,每个条目大概 4 个字节。
那是 40,000,000,000 字节,大约 40GB。即使您安装了那种内存,系统也可能会在此之前很久实施一些限制。