【问题标题】:Does clearing a map aid with garbage collection?清除地图有助于垃圾收集吗?
【发布时间】:2018-09-06 02:49:08
【问题描述】:

我最近注意到我的同事倾向于在取消引用之前清除所有映射,例如在函数结束时。

他的论点是垃圾回收是一种很好的做法,我很好奇这是真的还是过度优化的情况?

例子:

function useMap() {
  const map = new Map();
  // do stuff
  map.clear();
}

【问题讨论】:

    标签: javascript dictionary collections garbage-collection es6-map


    【解决方案1】:

    假设有问题的 javascript 运行时使用跟踪垃圾收集器(大多数都这样做),它只会访问和处理可从 GC 根到达的对象。由于地图本身不可访问,因此地图中是否仍有引用无关紧要,它们将永远不会被访问。

    请注意,C#Java 等也有类似的问题。底层机制非常相似,因此可以根据垃圾收集器理论以与语言无关的方式提出此类问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      • 2011-09-28
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多