基本資料型別是放在棧中還是放在堆中,這取決於基本型別宣告的位置。
一:在方法中宣告的變數,即使變數是區域性變數,每當程式呼叫方法時,系統都會為該方法建立乙個方法棧,其所在方法中宣告的變數就放在方法棧中,當方法結束系統會釋放方法棧,其對應在該方法中宣告的變數隨著棧的銷毀而結束,這就區域性變數只能在方法中有效的原因。
在方法中宣告的變數可以是基本型別的變數,也可以是引用型別的變數。
(1)當宣告是基本型別的變數的時,其變數名及值(變數名及值是兩個概念)是放在方法棧中
(2)當宣告的是引用變數時,所宣告的變數(該變數實際上是在方法中儲存的是記憶體位址值)是放在方法的棧中,該變數所指向的物件是放在堆類存中的。
二:在類中宣告的變數是成員變數,也叫全域性變數,放在堆中的(因為全域性變數不會隨著某個方法執行結束而銷毀)。
同樣在類中宣告的變數即可是基本型別的變數 也可是引用型別的變數
(1)當宣告的是基本型別的變數其變數名及其值放在堆記憶體中的
(2)引用型別時,其宣告的變數仍然會儲存乙個記憶體位址值,該記憶體位址值指向所引用的物件。引用變數名和對應的物件仍然儲存在相應的堆中.
總結:
Java中基本資料型別和引用資料型別的存放位置
基本資料型別是放在棧中還是放在堆中,這取決於基本型別宣告的位置。一 在方法中宣告的變數,即使變數是區域性變數,每當程式呼叫方法時,系統都會為該方法建立乙個方法棧,其所在方法中宣告的變數就放在方法棧中,當方法結束系統會釋放方法棧,其對應在該方法中宣告的變數隨著棧的銷毀而結束,這就區域性變數只能在方法中...
基本資料型別和引用資料型別
資料型別 基本資料類 1.數值型 整數 byte short int long 浮點 float double 2.字元型 char 3.布林型 boolean 引用資料型別 1.類 class 2.介面 inte ce 3.陣列 array 基本資料型別 它的值是乙個數字 字元或布林值,變數指向具...
基本資料型別和引用型別
1基本資料與引用資料的基本區別 眾說周知,基本資料型別 為int long,byte,boolean,float,double等第乙個字母為小寫,如果用這些資料型別定義變數,通常情況下,即使沒有賦值,它也會有預設值,例如int 型別為 0 boolean 為 false等,而string 型別 以及...