垃圾回收机制是什么时候执行的?

新手上路,请多包涵

今天面试被问到,之前看过网上的资料说是隔一段时间执行一次,但是听面试官的反应好像不是,面试官原话:“emmm...你这么说让我觉得是好像有个定时器一样。”
求解答~

阅读 3.3k
1 个回答

垃圾回收器会间歇的不定期的寻找到不再使用的变量,并释放掉它们所指向的内存。

很难具体回答什么时候会执行,这个因 js 引擎不同而策略不一样。

以前的浏览器会按照固定的时间间隔周期性的执行,但这对性能上是比较影响的,因为浏览器会停止响应其他操作,而一次GC可能需要几百毫秒才能完成。

现代浏览器基本都会在空闲时再去进行垃圾回收,而V8已经实现了并发标记,该技术可以让 GC 扫描和标记对象时,同时允许 JS 运行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题