久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

node.js - node垃圾回收、內(nèi)存泄漏相關(guān)問(wèn)題

瀏覽:125日期:2024-07-16 16:35:19

問(wèn)題描述

最近剛開(kāi)始研究垃圾回收,在試著回答餓了么大前端里的node內(nèi)存釋放相關(guān)的問(wèn)題時(shí),遇到了一些疑問(wèn):

let arr = [];while(true) arr.push(1);

無(wú)限增加的數(shù)組,這肯定是會(huì)爆掉內(nèi)存的。

let arr = [];while(true) arr.push();

這個(gè)我覺(jué)得只是一直使用 arr ,導(dǎo)致 arr 不能被釋放吧?

let arr = [];while(true) arr.push(new Buffer(1000));

這個(gè)是因?yàn)?Buffer 的大小小于8k,會(huì)先檢查內(nèi)存池是否已滿,所以應(yīng)該不會(huì)爆掉內(nèi)存?

var theThing = null var replaceThing = function () { var originalThing = theThing var unused = function () { if (originalThing) console.log('hi') } theThing = { longStr: new Array(1000000).join(’*’), someMethod: function () { console.log(someMessage) } };};setInterval(replaceThing, 1000)

這個(gè)是因?yàn)?unused 對(duì) originalThing 進(jìn)行了引用,所以每一個(gè) unused 都形成了一個(gè) originalThing 的作用域 replaceThing 的閉包,這個(gè)閉包不會(huì)被回收掉,所以會(huì)在內(nèi)存中一直累積?

因?yàn)樽约翰皇呛艽_定,所以麻煩懂的小伙伴回答一下,謝謝!

問(wèn)題解答

回答1:

new Buffer估計(jì)不是簡(jiǎn)單爆內(nèi)存的問(wèn)題,Buffer是分配在V8堆外的,所以實(shí)際上比第一個(gè)的問(wèn)題還要嚴(yán)重,我剛才就直接死機(jī)了。

第二個(gè)應(yīng)該說(shuō)的是由于數(shù)組大小不會(huì)增長(zhǎng),所以不會(huì)爆內(nèi)存。

第三個(gè)原文中就有提及原因

比如上述情況中 unused 的函數(shù)中持有了 originalThing 的引用, 使得每次舊的對(duì)象不會(huì)釋放從而導(dǎo)致內(nèi)存泄漏

如果還是不理解可以看看原發(fā)現(xiàn)者的文章,里面講解的很詳細(xì)。

回答2:

死循環(huán)的代碼到哪都會(huì)爆內(nèi)存,特別是js這種單線程語(yǔ)言,直接阻塞卡死。 Buffer類型我沒(méi)用過(guò),會(huì)不會(huì)檢查內(nèi)存池這個(gè)無(wú)法確定,但卡死了檢不檢查內(nèi)存意義也不大。

最后一個(gè)我同意你的說(shuō)法,每次循環(huán)都新建一個(gè)對(duì)象,theThing的引用地址不斷在變化,正常情況下舊的引用對(duì)象就應(yīng)該被垃圾回收了,但由于unused引用了舊的對(duì)象originalThing,originalThing又一個(gè)私有變量,所以舊的對(duì)象無(wú)法被垃圾回收,就造成了內(nèi)存泄露。

有沒(méi)有下面這段代碼的區(qū)別,環(huán)境chrome,運(yùn)行30s。 第一幅圖是沒(méi)有這段代碼的結(jié)果,內(nèi)存在15M浮動(dòng)。第二幅圖是有這段代碼的結(jié)果,內(nèi)存不斷增長(zhǎng)。

function unused() { if (originalThing) console.log('hi');}

node.js - node垃圾回收、內(nèi)存泄漏相關(guān)問(wèn)題

node.js - node垃圾回收、內(nèi)存泄漏相關(guān)問(wèn)題

回答3:

我也不是很確定,不過(guò)可以用memwatch-next的包看看

相關(guān)文章:
主站蜘蛛池模板: 国产视频精品一区二区三区 | 看a网址 | 色偷偷噜噜噜亚洲男人 | 国产精品视频区 | 亚洲福利片| 久久久久久久香蕉 | 三区在线视频 | 精品无人乱码一区二区三区 | 日本黄网站在线观看 | 久久天堂网 | 99国内精品久久久久久久 | www.天天操 | 欧美视频在线一区 | 免费观看a视频 | 亚洲一区 中文字幕 | 中文字幕在线免费 | 欧美亚洲一区 | 91天天综合 | 91免费看片网站 | 国产乱码精品一区二区三区忘忧草 | 亚洲视频一区 | 蜜桃av中文字幕 | 热久久久 | 国产高清视频在线 | 精品视频久久久 | 青娱乐网 | 大乳videos巨大吃奶 | 一级毛片视屏 | 狠狠操av| 久久蜜桃精品一区二区三区综合网 | 天堂在线中文字幕 | 亚洲综合无码一区二区 | 精品亚洲成a人在线观看 | 欧美在线影院 | 日本成人在线视频网站 | 欧美精品一区二区三区在线 | 亚洲三区在线观看 | 男女全黄一级一级高潮免费看 | 精品日韩av| www国产高清| 岛国a视频 |