我们将分配到内存空间中的对象中那些能通过mutator 引用的对象称为“活动对象”。反过来,把分配到堆中那些不能通过程序引用的对象称为“非活动对象”。也就是说,不能通过程序引用的对象已经没有人搭理了,所以死掉了。死掉的对象(即非活动对象)我们就称为“垃圾”。 这里需要大家注意的是:死了的对象不可能活过来。因为就算mutator 想要重新引用(复活)已经死掉的对象,我们也没法通过mutator 找到它了。 因此,GC 会保留活动对象,销毁非活动对象。当销毁非活动对象时,其原本占据的内存空间会得到解放,供下一个要分配的新对象使用。 图1.4 活动对象和非活动对象
垃圾回收的算法与实现——1.5 活动对象/ 非活动对象
书名: 垃圾回收的算法与实现
作者: 中村成洋 | 相川光
出版社: 人民邮电出版社
原作名: ガベージコレクションのアルゴリズムと実装
译者: 丁灵 | 相川光
页数: 456
定价: 99.00元
装帧: 平装
ISBN: 9787115427472