我正在阅读这本关于数据结构的书,它涵盖了 Java 中的内存管理和孤立对象。教科书是这样说的:
例如,考虑左图中的三个赋值语句。在第三个赋值语句之后,不仅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 的引用吗?这似乎是一个巨大的错误,但甚至有一张图片显示 12, 31, 1999 的内存块是孤立对象。
图片:http: //imageshack.us/f/818/3tkx.jpg/