1. 程式人生 > >堆(Heap)和棧(Stack)

堆(Heap)和棧(Stack)

數據結構 item ext 調用 .com 結束 baidu 決定 text

堆,隊列優先,先進先出(FIFO—first in first out) 棧,先進後出(FILO—First-In/Last-Out) 棧(操作系統):由操作系統自動分配釋放 ,存放函數的參數值局部變量的值等。其操作方式類似於數據結構中的棧 堆(操作系統): 一般由程序員分配釋放, 若程序員不釋放,程序結束時可能由OS回收,分配方式倒是類似於鏈表。 棧使用的是一級緩存, 他們通常都是被調用時處於存儲空間中,調用完畢立即釋放。 堆則是存放在二級緩存中,生命周期由虛擬機的垃圾回收算法來決定(並不是一旦成為孤兒對象就能被回收)。所以調用這些對象的速度要相對來得低一些。 引用類型總是放在堆中
值類型和指針總是放在它們被聲明的地方 註釋:值類型和引用類型.note

堆(Heap)和棧(Stack)