クラスに整数配列があるとします。
public class Foo {
private Integer[] arr = new Integer[20];
.....
}
64 ビット アーキテクチャでは、これに必要なスペースは ~ (20*8+24) + 24*20 {参照に必要なスペース + 配列オーバーヘッド + オブジェクトに必要なスペース} です。
Javaが20個の整数オブジェクトすべてへの参照を保存するのはなぜですか? その最初のメモリ位置と配列内の項目数を知っていれば十分ではないでしょうか? (私もどこかで読んだように、配列内のオブジェクトがとにかく連続して配置されていると仮定します)。この種の実装の理由を知りたいです。これが初心者の質問である場合は申し訳ありません。