Out Of Memory Error: Java heap space - Using big array size

Out Of Memory Error: Java heap space - Using big array size

线程 "main" java.lang.OutOfMemoryError 异常:Java 堆 space

使用 [100000][100000] 的二维数组和其他两个 [100000] 的数组。我在整个程序中需要这三个数组,所以无法释放它们的内存。

已在 Netbeans 中尝试过 VM 选项 -Xmx512m

请具体并逐步说明,我是 Java 和 Netbeans 的新手。

在此先感谢您的帮助....

让我们做一些数学运算。您正在分配一个包含 10,000,000,000 个元素的二维数组,以及另外两个包含 100,000 个元素的数组。

那是 10,002,000,000 个元素。如果它们中的每一个都是一个 int,那就是 40,008,000,000 个字节。那是 37.26 Giga 字节。

你的 -Xmx512m 还远远不够,如果这些真的是整数,你需要更接近 -Xmx60G 的东西,或者在最好的情况下 -Xmx15G ,其中元素是字节(例如布尔值)。但这可能行不通,因为您(可能)没有足够的物理内存。对我来说,这听起来像是您需要一些磁盘支持的存储或数据库。

要么重新考虑你在做什么以及你是如何做的,要么使用一台有那么多物理内存的机器。