今天面试被问到,之前看过网上的资料说是隔一段时间执行一次,但是听面试官的反应好像不是,面试官原话:“emmm...你这么说让我觉得是好像有个定时器一样。”
求解答~
今天面试被问到,之前看过网上的资料说是隔一段时间执行一次,但是听面试官的反应好像不是,面试官原话:“emmm...你这么说让我觉得是好像有个定时器一样。”
求解答~
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
垃圾回收器会间歇的不定期的寻找到不再使用的变量,并释放掉它们所指向的内存。
很难具体回答什么时候会执行,这个因 js 引擎不同而策略不一样。
以前的浏览器会按照固定的时间间隔周期性的执行,但这对性能上是比较影响的,因为浏览器会停止响应其他操作,而一次GC可能需要几百毫秒才能完成。
现代浏览器基本都会在空闲时再去进行垃圾回收,而V8已经实现了并发标记,该技术可以让 GC 扫描和标记对象时,同时允许 JS 运行。