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