如何在Java数组中存储2 ^ 128个以上的元素。
我尝试了Integer.MAX_value
,但这不是我想要的范围。我想要更多数字。
这是使用(Integer.MAX_VALUE)时出现的错误:
线程“主”中的异常java.lang.OutOfMemoryError:请求的数组 大小超出VM限制。
答案 0 :(得分:0)
在Java中,数组内部使用整数(不是整数,而不是Integer)作为索引,最大大小受整数的最大大小限制。因此从理论上讲,它是2 ^ 31-1 = 2147483647,即Integer.MAX_VALUE。
但是在最近的HotSpot JVM中,已经观察到数组的最大大小可以是Integer.MAX_VALUE-5。