-1

我在 java 中的一种方法中使用了以下代码:

int []  byte_song = new int[8414449];
int []  int_song = new int[8414449 - 45];

如果我只是写:

int []  byte_song = new int[8414449];

它没有给我任何错误。但是,如果我写:

int []  byte_song = new int[8414449];
int []  int_song = new int[8414449 - 45];

它给了我OutOfMemoryError

在我收到错误消息System.gc();之前,我也尝试过打电话。int []int_song = new int[8414449 - 45];有人可以帮我解决这个问题吗?

4

1 回答 1

7

您需要分配更多内存。为此使用-Xmx 内存选项。JVM 有一个默认的内存量,超过该内存量将不允许您再分配,而且它通常小于您在计算机上拥有的内存量。

于 2013-04-25T15:05:05.047 回答