美團2017校園招聘 android知識點靜態變數儲存在__區
a 全域性區
b 堆
c 棧
d 常量區
記憶體到底分幾個區?
1、棧區(stack)— 由編譯器自動分配釋放 ,存放函式的引數值,區域性變數的值等。
2、堆區(heap) — 一般由程式設計師分配釋放, 若程式設計師不釋放,程式結束時可能由os** 。注意它與資料結構中的堆是兩回事,分配方式倒是類似於鍊錶。
3、全域性區(靜態區)(static)—全域性變數和靜態變數的儲存是放在一塊的,初始化的全域性變數和靜態變數在一塊區域, 未初始化的全域性變數和未初始化的靜態變數在相鄰的另一塊區域。程式結束後有系統釋放。
4、文字常量區 —常量字串就是放在這裡的。 程式結束後由系統釋放。
5、程式**區—存放函式體的二進位制**。
方法區(Method Area)儲存的靜態變數
靜態變數又稱為類變數,類中被static修飾的成員變數都是靜態變數 類變數 靜態變數之所以又稱為類變數,是因為靜態變數和類關聯在一起,隨著類的載入而存在於方法區 而不是堆中 八種基本資料型別 byte short int long float double char boolean 的靜態變數會在方...
靜態儲存 動態儲存 靜態變數與動態變數
動態變數 int a 靜態變數 static int a 靜態變數,全域性動態變數都是靜態儲存,儲存在全域性資料區,在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。靜態儲存變數是一直存在的,只會初始化一次。區域性動態變數是動態儲存,動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,...
變數,常量,靜態變數儲存的位置
常見的儲存區域可分為 1 棧由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的儲存區。裡面的變數通常是區域性變數 函式引數等。2 堆由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制,一般乙個new就要對應乙個delete。如果程式設計師沒有釋放掉,程式會一直占用記憶體,導...