显示以下错误:
"线程中的异常" main" java.lang.OutOfMemoryError:Java堆空间"
当我宣布:
long[] ar = new long[1000000000];
那么如何声明一个大小为10 ^ 9的数组?
答案 0 :(得分:0)
要创建一个包含10亿个8字节long
值的数组,您需要在旧一代中至少有8 GB的可用内存。如果你有足够的内存以32 GB开始,我建议给堆至少12 GB。
如果你没有这么多内存,你可以在Linux上使用内存映射文件,但很可能有一种更有效的内存方式来存储数据(取决于你尝试这样做的原因)