エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
Java で配列を生成する際に、どこまで大きい要素数を指定できるかは、Java VMの実装によるみたいです。 ... Java で配列を生成する際に、どこまで大きい要素数を指定できるかは、Java VMの実装によるみたいです。 なので、Oracle の Java VM ではメモリが十分にあっても、次のコードは必ずエラーになります。 int[] max = new int[Integer.MAX_VALUE]; じゃあ、メモリが十分にある場合の上限がどこまでなのかというと、Oracle の Java VM の場合は以下の通りです*1。 32bit の Java VM 0x3fffffff - 3 (= 1,073,741,820) 64bit の Java VM 0x7fffffff - 2 (= 2,147,483,645) どういうこと? まずは、Java 言語仕様を確認したところ、以下の記載がありました。 配列は int 値によってインデックスづけされなければならず、short, byte, char