代码之家  ›  专栏  ›  技术社区  ›  Sundaze123

使用二维数组时超过内存限制

  •  1
  • Sundaze123  · 技术社区  · 6 年前

    当长度为100000时,这一行代码会创建一条错误消息“memory limit exceeded”,我不太明白原因。

    int[][] multiply = new int[length][length];
    
    1 回复  |  直到 6 年前
        1
  •  9
  •   Yunnosch    6 年前

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