gpt4 book ai didi

java - 为垃圾收集清除 BST 的最佳方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:55 24 4
gpt4 key购买 nike

我想清除 BST 以利用垃圾收集器。那么,要清除 BST,将根设置为 null 是否就足够了,这样我最终会得到一堆没有指向它们的指针的废弃节点?还是将每个节点设置为空更好?

  1. 这两种方法是否等价?
  2. 其中之一会导致内存泄漏吗?
  3. 一个垃圾回收速度会比另一个快吗?

我也关注弱引用和强引用等

最佳答案

任何 Activity 线程无法访问的任何对象都将有资格进行垃圾收集。

基于此:

  1. 是的。
  2. 没有。
  3. 取决于 GC 的实现。反正作为一个Java程序员,你是无法左右的。您所能做的就是相信它会很好地完成工作。此外,将根设置为 null 的复杂度为 O(1),而使所有引用为空的复杂度为 O(n),其中 n 是节点数。

结论:

只需将根设置为null,让GC在合适的时候为他遍历树:)

关于java - 为垃圾收集清除 BST 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29975439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com