我有一个双向链接的对象列表:
class MyObject {
MyObject previousObject;
MyObject nextObject;
// Other fields and methods
}
只有这样一个列表的第一个对象直接存储在应用程序中,其他对象通过这个第一个对象到达并在应用程序中临时使用(但没有永久引用保留在列表本身之外)。
当一个对象不再引用时,它会被垃圾收集器收集。
但是,我想知道是否仍然如此,因为(第一个)对象仍然被链接列表中的“下一个对象”引用?那么列表的其余部分呢,这些对象是否也被收集(即使被彼此引用)?
注意:我知道当我不再使用它时,我可以删除列表中的所有引用。但由于应用程序的性质,这很“困难”,并导致额外的(不必要的?)开销。