私はデータ構造に関するこの本を読んでおり、Java のメモリ管理と孤立したオブジェクトについて説明しています。教科書には次のように書かれています。
たとえば、左の図の 3 つの割り当てステートメントについて考えてみましょう。3 番目の割り当てステートメントの後、 a と b が同じ Date オブジェクト (2011 年 1 月 1 日) を参照するだけでなく、bを初期化するために作成および使用された Date オブジェクトへの参照がなくなり ます。そのオブジェクトへの唯一の参照は変数bにあり、この参照は割り当てによって上書きされたため、オブジェクトを再度参照する方法はありません。このようなオブジェクトは、孤立していると言われます。
コード:
Date a=new Date(12, 31, 1999);
Date b=new Date(1, 1, 2011);
b=a;
その発言は本当ですか?a の参照 (オブジェクトのメモリ位置はDate(12, 31, 1999)
b の参照と同じであるべきではありませんか? これは 1 つの大きなエラーのように思えますが、孤立したオブジェクトである 12、31、1999 のメモリ ブロックを示す画像さえあります。