iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0

室友撓撓頭,拿起手機:「這個嘛⋯⋯我也不太確定。我去問問學長。」

他三兩下撥通電話,跟對方簡單寒暄幾句,便直接切入正題:「學長,我和同學想問,程式佔用的記憶體,到底什麼時候才會還回去?」

他順手按下擴音鍵,讓我也能一起聽。

手機那頭傳來熟悉又帶點驚訝的聲音:「咦?我記得這個你們課程還沒上到吧?好像是程式語言還是編譯器的課才會講。」

「對啊,剛剛在討論 array 的時候聊到的。」室友笑著解釋。

學長發出一聲爽朗的笑聲:「你們還真是認真複習啊!」

停頓片刻,他語氣一轉,開始耐心解釋:「理想狀況下,記憶體會在任務結束後馬上釋放。所以我們寫程式時,常常會把一個大任務拆成許多小任務,這樣小任務一做完,用掉的記憶體就能回收,不會一直佔著空間。效率才高。」

他稍微頓了頓,語氣放慢:「一般來說,程式結束後,所有記憶體也會自動跟著釋放。不過啊,如果程式沒寫好,就會出問題。有時候它關掉了,卻還霸佔著一塊記憶體不還給系統。久而久之,系統可用的記憶體就越來越少,最後整台電腦都變得又慢又卡。這種情況我們叫——『記憶體洩漏』。」

我聽著聽著,覺得這種情形有點熟悉。

「那怎麼辦?」室友問道。

「怎麼辦?」學長笑了笑,「重新開機啊!這就是為什麼我們老說『重新開機,治百病』。」

啊,難怪覺得熟悉,這不就是我每次電腦不聽話時的必殺技嗎!

「謝啦,學長。」室友見我沒再追問,便爽快掛掉電話。

他轉頭看向我,笑著說:「問題解決了吧?那還不快上線,一起打Boss!」


上一篇
滿出來的記憶體
系列文
奶茶裡藏的資料結構(Kotlin範例)10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言