【问题标题】:Memory limit exceeded with the use of a 2D array使用 2D 数组超出内存限制
【发布时间】:2018-07-10 21:30:32
【问题描述】:

当长度为 100,000 时,这行代码会创建错误消息“超出内存限制”,我不太明白为什么。

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

【问题讨论】:

  • java -Xmx40G 应该对每个人都足够了 - 比尔·盖茨 ;)

标签: java multidimensional-array memory-limit


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 2019-11-07
    相关资源
    最近更新 更多