數(shù)據(jù)類型(基本和引用)是放在棧中還是放在堆中,這取決于基本類型聲明的位置。
?一:在方法中聲明的變量,即該變量是局部變量,每當(dāng)程序調(diào)用方法時,系統(tǒng)都會為該方法建立一個方法棧,其所在方法中聲明的變量就放在方法棧中,當(dāng)方法結(jié)束系統(tǒng)會釋放方法棧,其對應(yīng)在該方法中聲明的變量隨著棧的銷毀而結(jié)束,這就局部變量只能在方法中有效的原因
????? 在方法中聲明的變量可以是基本類型的變量,也可以是引用類型的變量。
?????? ? (1)當(dāng)聲明是基本類型的變量的時,其變量名及值(變量名及值是兩個概念)是放在方法棧中
??????? ?(2)當(dāng)聲明的是引用變量時,所聲明的變量(該變量實際上是在方法中存儲的是內(nèi)存地址值)是放在方法的棧中,該變量所指向的對象是放在堆類存中的。
?? 二:在類中聲明的變量是成員變量,也叫全局變量,放在堆中的(因為全局變量不會隨著某個方法執(zhí)行結(jié)束而銷毀)。
?????? 同樣在類中聲明的變量即可是基本類型的變量 也可是引用類型的變量
???????(1)當(dāng)聲明的是基本類型的變量其變量名及其值放在堆內(nèi)存中的
???????(2)引用類型時,其聲明的變量仍然會存儲一個內(nèi)存地址值,該內(nèi)存地址值指向所引用的對象。引用變量名和對應(yīng)的對象仍然存儲在相應(yīng)的堆中
轉(zhuǎn)自:https://blog.csdn.net/liyuguanguan/article/details/79619254