當前位置:趣味科普網>經驗>

簡述堆和棧的區別和聯絡

經驗 閱讀(2.06W)

簡述堆和棧的區別和聯絡

堆和棧的對比分析:

1、堆疊空間配不同。

棧:是由作業系統自動分配釋放,存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。

堆: 是由程式設計師分配釋放,如果程式設計師不釋放,程式結束時可由OS回收,分配方式類似於連結串列。

2、堆疊快取方式不同。

棧:使用的是一級快取,通常都是被呼叫時處於儲存空間中,呼叫完畢立即釋放。

堆:則是存放在二級快取中,生命週期由虛擬機器的垃圾回收演算法來決定。

3、堆疊資料結構有區別。

堆:是一種先進先出的資料結構

棧:是一種先進後出的資料結構。