算法(4th ed)(127):基础——背包、队列和栈 5.2.4

阅读数:21 2019 年 11 月 6 日 07:29

算法(4th ed)(127):基础——背包、队列和栈 5.2.4

(集合类数据类型的实现:对象游离)

Java 的垃圾收集策略是回收所有无法被访问的对象的内存。在我们对 pop() 的实现中,被弹出的元素的引用仍然存在于数组中。这个元素实际上已经是一个孤儿了——它永远也不会再被访问了,但 Java 的垃圾收集器没法知道这一点,除非该引用被覆盖。即使用例已经不再需要这个元素了,数组中的引用仍然可以让它继续存在。这种情况(保存一个不需要的对象的引用)称为游离。在这里,避免对象游离很容易,只需将被弹出的数组元素的值设为 null 即可,这将覆盖无用的引用并使系统可以在用例使用完被弹出的元素后回收它的内存。

评论

发布