0 votes
1 view
in Java by (5.5k points)

Is there a limit to the number of elements a Java array can contain? If so, what is it?

1 Answer

0 votes
by (33.8k points)

In a recent HotSpot VM, the correct response is Integer.MAX_VALUE - 5. Once you go beyond that:

public class Foo {

  public static void main(String[] args) {

    Object[] array = new Object[Integer.MAX_VALUE - 4];

  }

}

You get:

Exception in thread "main" java.lang.OutOfMem

...