这行代码的内存将增加约100兆字节,并且不会被释放:
var json = new Array(100000000).join(",");
为什么?
答案 0 :(得分:0)
如this answer中所述,数组的每个元素将占用近一个字节。 100,000,000字节大约为95MB。在垃圾收集器认为合适之前,不会释放为数组保留的内存。
如MDN中所述:
大多数内存管理问题都在此阶段出现。这里最困难的任务是查找何时“不再需要分配的内存”。通常,需要开发人员确定程序中不再需要该内存的位置,然后释放它。
因此,当浏览器确定不再需要该内存时,或者当开发人员明确声明不再需要该内存时,该内存将被释放(在该页面的其他地方展示)。