1. ホーム

[解決済み】Javaの配列には最大サイズがあるのでしょうか?

2022-04-03 02:50:32

質問

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