第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

進(jìn)行內(nèi)存消耗管理

進(jìn)行內(nèi)存消耗管理

Go
慕無(wú)忌1623718 2021-05-10 12:08:26
我是Go的新手,它試圖弄清楚它如何管理內(nèi)存消耗。我的一個(gè)測(cè)試項(xiàng)目中的內(nèi)存出現(xiàn)問(wèn)題。我不明白為什么當(dāng)我的程序長(zhǎng)時(shí)間運(yùn)行時(shí),Go使用越來(lái)越多的內(nèi)存(從不釋放它)。我正在運(yùn)行下面提供的測(cè)試用例。第一次分配后,程序?qū)⑹褂媒?50 MB的內(nèi)存(根據(jù)ActivityMonitor)。然后,我嘗試釋放它,ActivityMonitor顯示內(nèi)存消耗增加了一倍。為什么?我正在使用Go 1.0.3在OS X上運(yùn)行此代碼。此代碼有什么問(wèn)題?在Go程序中管理大變量的正確方法是什么?在實(shí)現(xiàn)使用大量時(shí)間和內(nèi)存的算法時(shí),我還遇到了另一個(gè)與內(nèi)存管理相關(guān)的問(wèn)題。運(yùn)行一段時(shí)間后,將引發(fā)“內(nèi)存不足”異常。package mainimport ("fmt" "time")func main() {  fmt.Println("getting memory")  tmp := make([]uint32, 100000000)  for kk, _ := range tmp {    tmp[kk] = 0  }  time.Sleep(5 * time.Second)  fmt.Println("returning memory")  tmp = make([]uint32, 1)  tmp = nil  time.Sleep(5 * time.Second)  fmt.Println("getting memory")  tmp = make([]uint32, 100000000)  for kk, _ := range tmp {    tmp[kk] = 0  }  time.Sleep(5 * time.Second)  fmt.Println("returning memory")  tmp = make([]uint32, 1)  tmp = nil  time.Sleep(5 * time.Second)    return}
查看完整描述

2 回答

?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

要最終(強(qiáng)制)收集未使用的內(nèi)存,您必須致電runtime.GC()。

variable = nil 可能會(huì)使事物無(wú)法到達(dá)并因此有資格被收集,但它本身并沒(méi)有釋放任何東西。


查看完整回答
反對(duì) 回復(fù) 2021-05-31
  • 2 回答
  • 0 關(guān)注
  • 264 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)