如何在java中声明10 ^ 9大小的数组

时间:2017-02-25 21:52:58

标签: java arrays

显示以下错误:

  

"线程中的异常" main" java.lang.OutOfMemoryError:Java堆空间"

当我宣布:

long[] ar = new long[1000000000];

那么如何声明一个大小为10 ^ 9的数组?

1 个答案:

答案 0 :(得分:0)

要创建一个包含10亿个8字节long值的数组,您需要在旧一代中至少有8 GB的可用内存。如果你有足够的内存以32 GB开始,我建议给堆至少12 GB。

如果你没有这么多内存,你可以在Linux上使用内存映射文件,但很可能有一种更有效的内存方式来存储数据(取决于你尝试这样做的原因)