欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

記雜||go的內(nèi)存分配管理

本文類似于個(gè)人學(xué)習(xí)筆記不會(huì)面面俱到,需要讀者掌握一定基本知識(shí)。

先從span講起,span是go內(nèi)存的最小管理單位,最小存儲(chǔ)單位page為8KB,span便是page的整數(shù)倍大小,從8B到32KB共67個(gè)等級(jí)+0級(jí)(我所學(xué)習(xí)的教材寫(xiě)成了67種,后來(lái)發(fā)現(xiàn)他寫(xiě)錯(cuò)了,源碼部分在runtime/sizeclasses.go 內(nèi)有詳細(xì)數(shù)據(jù)),其中0級(jí)代表大小不確定的等級(jí)。span的大小和等級(jí)并不相同,比如class1 span為8B而span的大小為8KB,也就是說(shuō)能裝下1024個(gè)大小為8B的對(duì)象。接下來(lái)的內(nèi)容便圍繞著span展開(kāi):

go使用了一種現(xiàn)代化的內(nèi)存分配算法TCMalloc,在此基礎(chǔ)上進(jìn)行了三級(jí)管理:mcache,mcentral,mheap。

  1. mcache:中內(nèi)含 (67種span+1)*(有無(wú)指針2種,GC時(shí)使用) 共136個(gè)span,span為每個(gè)P獨(dú)占,由于P上只會(huì)有一個(gè)G在運(yùn)行所以無(wú)需加鎖,同時(shí)也意味著mcache的數(shù)量和P相等(注:在初始化時(shí)并沒(méi)有任何span而是在使用時(shí)向mcentral申請(qǐng)并緩存)。
  2. mcentral:為鏈表結(jié)構(gòu)共 兩條(空閑列表和無(wú)空閑)*67種 每一級(jí)別的span各有一個(gè)對(duì)應(yīng)的mcentral,mcentral內(nèi)span的數(shù)量并不固定,如果不夠用了則會(huì)向mheap申請(qǐng),全局P共享。
  3. mheap:全局內(nèi)存池,便是go運(yùn)行時(shí)向操作系統(tǒng)申請(qǐng)的一大塊內(nèi)存,這里你可能有個(gè)誤區(qū),棧在什么地方分配內(nèi)存?沒(méi)錯(cuò)也在mheap,與java不同,棧的內(nèi)存也是分配在堆上的。

為什么要這么分?先看go是怎么為對(duì)象分配內(nèi)存的,go的對(duì)象分為了3種:微小對(duì)象<16B,16B<小對(duì)象<32KB,大對(duì)象>32KB。這里微小對(duì)象和小對(duì)象在span中便有足夠大的空間分配,所以分配在mcahe中,其中微小對(duì)象會(huì)放在span的class 2(16B)中,根據(jù)2,4,8規(guī)則進(jìn)行字節(jié)對(duì)齊,這是一種優(yōu)化手段可以有效減少堆大小,甚至8B的對(duì)象并不會(huì)放在class 1中,優(yōu)先把2*8B放在class 2中以減少位圖等用于記錄的數(shù)據(jù)。而mcache中如果span滿了,便會(huì)去向?qū)?yīng)mcentral中申請(qǐng)(加鎖)(2條鏈表都遍歷,因?yàn)橛捎贕C無(wú)法保證無(wú)空閑鏈表中是否已經(jīng)出現(xiàn)了空閑的)新的span,而原來(lái)的會(huì)標(biāo)記為空閑,放在mcentral的空閑列表中等待GC,如果mcentral也沒(méi)有可用的了,便會(huì)向mheap申請(qǐng)(全局鎖)。而大對(duì)象便直接在mheap中進(jìn)行內(nèi)存分配。

~飛天大糙

Go八股文小解 文章被收錄于專欄

Lotalot你干了什么?!沒(méi)有g(shù)olang八股文我們?nèi)绾慰购怆p招,Lotalot淡笑一聲:“很簡(jiǎn)單,我自己寫(xiě)不就是了”說(shuō)完,他氣息終于不再掩飾,顯露而出,Go八股文小解!

全部評(píng)論

相關(guān)推薦

1.&nbsp;自我介紹2.&nbsp;介紹計(jì)算機(jī)網(wǎng)絡(luò)模型3.&nbsp;TCP&nbsp;和UDP的區(qū)別,UDP的應(yīng)用場(chǎng)景4.&nbsp;怎么理解get&nbsp;和&nbsp;post&nbsp;的安全性(考察HTTPS&nbsp;如何確保安全)5.&nbsp;進(jìn)程和線程的區(qū)別6.&nbsp;如何保證多線程的線程安全(JAVA&nbsp;里是通過(guò)原子性,可見(jiàn)性,有序性)7.&nbsp;MySQL&nbsp;索引以及底層實(shí)現(xiàn)8.&nbsp;索引失效場(chǎng)景9.&nbsp;B+樹(shù)的插入操作10.&nbsp;二叉樹(shù)的中序遍歷(easy)11.&nbsp;Redis&nbsp;為什么快12.&nbsp;有哪些底層的數(shù)據(jù)結(jié)構(gòu)String&nbsp;的實(shí)現(xiàn)SDS,查詢字符串長(zhǎng)度為O(1);跳表的實(shí)現(xiàn)原理,和平衡樹(shù),紅黑樹(shù),B+樹(shù)的對(duì)比12.&nbsp;大Key問(wèn)題怎么解決(拓展熱Key&nbsp;&nbsp;問(wèn)題)#牛客AI配圖神器#拆分,清理,監(jiān)控內(nèi)存、帶寬、超時(shí)等指標(biāo),定期清理失效數(shù)據(jù)13.&nbsp;數(shù)據(jù)庫(kù)和Redis&nbsp;一致性(答的不好)14.&nbsp;緩存穿透問(wèn)題15.&nbsp;JVM&nbsp;垃圾回收機(jī)制16.&nbsp;緩存熱點(diǎn)數(shù)據(jù)如何做的17.&nbsp;基于用戶的協(xié)同過(guò)濾算法18.&nbsp;推薦系統(tǒng)怎么避免信息繭房&nbsp;&nbsp;a.&nbsp;多樣性推薦:反向興趣推薦,探索與開(kāi)發(fā)模式&nbsp;&nbsp;b.&nbsp;去偏見(jiàn)算法:公平性約束,平衡曝光機(jī)制&nbsp;&nbsp;c.&nbsp;用戶主導(dǎo):自己選擇喜好,內(nèi)容探索&nbsp;&nbsp;d.&nbsp;隨機(jī)性和跨領(lǐng)域推送19.&nbsp;激勵(lì)機(jī)制如何設(shè)計(jì)按照簽到時(shí)長(zhǎng)來(lái)贈(zèng)送體驗(yàn)卡,書(shū)籍20.&nbsp;簽到怎么做的,bitmap&nbsp;的優(yōu)點(diǎn)
肯德基老頭愛(ài)吃麥當(dāng)勞:問(wèn)一下這個(gè)推薦系統(tǒng)是根據(jù)項(xiàng)目擴(kuò)展的嘛
查看23道真題和解析
點(diǎn)贊 評(píng)論 收藏
分享
點(diǎn)贊 評(píng)論 收藏
分享
評(píng)論
點(diǎn)贊
收藏
分享

創(chuàng)作者周榜

更多
正在熱議
更多
# 面試問(wèn)題記錄 #
71971次瀏覽 1032人參與
# 工作中,你有沒(méi)有遇到非常愛(ài)罵人的領(lǐng)導(dǎo)? #
20148次瀏覽 142人參與
# 京東TGT #
53419次瀏覽 188人參與
# 上班到公司第一件事做什么? #
40700次瀏覽 383人參與
# 硬件人的簡(jiǎn)歷怎么寫(xiě) #
257378次瀏覽 2899人參與
# 求職季如何保持心態(tài)不崩 #
106810次瀏覽 871人參與
# 找工作的破防時(shí)刻 #
2208次瀏覽 40人參與
# 工作時(shí)那些社死瞬間 #
25911次瀏覽 196人參與
# 拼多多工作體驗(yàn) #
17847次瀏覽 153人參與
# 互聯(lián)網(wǎng)行業(yè)現(xiàn)在還值得去嗎 #
7420次瀏覽 42人參與
# 技術(shù)轉(zhuǎn)行的心路歷程 #
48518次瀏覽 665人參與
# 選完offer后,你后悔學(xué)本專業(yè)嗎 #
38856次瀏覽 215人參與
# 你覺(jué)得技術(shù)面多長(zhǎng)時(shí)間合理? #
87248次瀏覽 647人參與
# 國(guó)企和大廠硬件兄弟怎么選? #
121043次瀏覽 1656人參與
# 你遇到過(guò)哪些神仙同事 #
75164次瀏覽 664人參與
# 安利/避雷我的專業(yè) #
67127次瀏覽 495人參與
# 面試經(jīng)驗(yàn)談 #
48681次瀏覽 758人參與
# 米哈游求職進(jìn)展匯總 #
322878次瀏覽 2223人參與
# 實(shí)習(xí)生應(yīng)該準(zhǔn)時(shí)下班嗎 #
203425次瀏覽 1324人參與
# 面試吐槽bot #
18109次瀏覽 105人參與
# 工作一周年分享 #
20162次瀏覽 111人參與
??途W(wǎng)
??推髽I(yè)服務(wù)