棧記憶體和堆記憶體

2021-09-29 13:34:33 字數 314 閱讀 9860

今天學習了一下js基礎,發現自己有很多底層原理都不怎麼清楚,今天就來講乙個棧記憶體(stack)和堆記憶體(heap)。

棧記憶體:主要分為變數儲存空間和值儲存空間,用來存基本資料型別,其中js中基本資料型別有5種,分別是:number、string、null、undefined和boolean

堆記憶體:儲存引用型別的值

let n=10;
上面這句**其實分為三部:

建立乙個變數,然後把變數存放在棧記憶體的變數儲存空間中

把值儲存在棧記憶體或者堆記憶體(值為引用型別時)

將變數和值進行關聯

堆記憶體和棧記憶體

堆 順序隨意 棧 先進後出 堆和棧的區別 一 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧 2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不...

堆記憶體和棧記憶體

一 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式 類似於資料結構中的棧 2 堆區 heap 一般由程式設計師分配釋放 若程式設計師不釋放,程式結束時可能由 os 注意它與資...

棧記憶體和堆記憶體

在平時寫 的時候經常遇到一些很簡單但是自己卻不太理解的問題,於是整理了一下。記憶體 一般情況下我們分為棧記憶體和堆記憶體。下面我們來說說它們的區別。一 棧記憶體 用於儲存區域性變數,當資料用完的時候,它所占用的空間會自動釋放。public class demo1 return j i 這裡的 i j...