java数组中的内存不足错误

时间:2013-04-25 15:01:45

标签: java

我在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];仍然出现错误。有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:7)

您需要分配更多内存。请使用-Xmx memory option。 JVM有一个默认的内存量,超过该内存就不允许你再分配,而且它通常小于你在计算机上的内存量。