【发布时间】:2012-01-14 00:57:51
【问题描述】:
我正在查看 Java 中 BST 的实现,当需要删除整个树时(例如使用 clear() 函数),它会递归地遍历整个树,将节点引用分配给 null。我想知道如果只是将树的 Root 引用设置为 null,垃圾收集器是否能够收集为树分配的所有内存,因为在 Root 设置为之后不会有任何对节点的实时引用空值?如果这可行,是否需要多次运行垃圾收集器才能收集整棵树?
【问题讨论】:
-
删除树的根引用就足够了,只要您不保留任何其他引用...
-
此外,这可能是关于循环引用的一百多个问题的近乎重复(尽管您的情况更简单),例如这个:stackoverflow.com/questions/1910194/… 或这个:stackoverflow.com/questions/407855/… :)
标签: java data-structures garbage-collection binary-search-tree