[VB.NET]變數使用的記憶體配置區間

記憶體會分global、stack與heap三種區間來配置變數的存放

記憶體會分global、stack與heap三種區間來配置變數的存放,大致上如下表說明

 

記憶體配置

Global

全域

用來放全域變數、靜態變數(static)

Stack

(堆疊)

Value type

(實值型別)

Heap

(堆積)

Reference type

(參考型別)

區域變數、函式的參數與函式的位址等等,由系統管理,必須在編譯時期為已知。

這些變數的回收會發生在它從堆疊pop出去的時候,因為個數、大小什麼的都是已知,所以系統知道怎麼進行配置與回收。

 

一般Value Type有三種:

內建型別

使用者定義型別(Structure)

列舉(Enum)

使用這裡的記憶體主要是用在編譯時期還不知道大小或個數的變數。

這裡的記憶體由使用者負責進行回收。