java.lang.OutOfMemoryError - new int [Integer.MAX_VALUE];

use*_*592 2 java out-of-memory

我在Eclipse中编写了一个Main类,其代码如下:

...
int []test = new int[Integer.MAX_VALUE];
...
Run Code Online (Sandbox Code Playgroud)

它具有以下文件:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

这需要多少堆大小?我使用以下方法增加了eclipse大小但仍然失败:

-Xms4g
-Xmx4g
Run Code Online (Sandbox Code Playgroud)

Mat*_*Mat 7

int在Java中是32位.您需要超过8G的内存来存储该阵列(4*(2 31 -1)).