Java数组是否有最大大小?

问题:

Java数组可以包含的元素数量有限制吗?如果是这样,那是什么?

回答:

没有看到正确的答案,即使它很容易测试。
在最近的HotSpot VM中,正确的答案是Integer.MAX_VALUE - 5。一旦你超越了:

public class Foo {
  public static void main(String[] args) {
    Object[] array = new Object[Integer.MAX_VALUE - 4];
  }
}

你得到:

Exception in thread "main" java.lang.OutOfMemoryError:
  Requested array size exceeds VM limit

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Do Java arrays have a maximum size?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

53 − 44 =