Golang:內存分配和垃圾回收

堆和棧區別 空間分配區別: 棧:由操作系統(編譯器)自動分配釋放,存放函數的參數值,局部變量的值等,其操作方式類似於數據結構中的棧。 堆:一般由代碼分配釋放,若代碼沒有顯式釋放,程序結束時可能由OS回收,分配方式類似鏈表。 緩存方式區別: 棧:使用的是一級緩存,通常都是被調用時處於存儲空間中,調用完畢立即釋放。 堆:存放在二級緩存中,生命週期由垃圾回收算法來決定。 數據結構區別: 棧:先進後出的線
相關文章
相關標籤/搜索