java篇 之 变量存放位置
?
?
?一:在方法中聲明的變量,即該變量是局部變量,每當(dāng)程序調(diào)用方法時(shí),系統(tǒng)都會(huì)為該方法建立一個(gè)方法棧,其所在方法中聲明的變量就放在方法棧中,當(dāng)方法結(jié)束系統(tǒng)會(huì)釋放方法棧,其對(duì)應(yīng)在該方法中聲明的變量隨著棧的銷毀而結(jié)束,這就局部變量只能在方法中有效的原因
????? 在方法中聲明的變量可以是基本類型的變量,也可以是引用類型的變量。
?????? ? (1)當(dāng)聲明是基本類型的變量的時(shí),其變量名及值(變量名及值是兩個(gè)概念)是放在JAVA虛擬機(jī)棧中
??????? ?(2)當(dāng)聲明的是引用類型變量時(shí),所聲明的變量名(該變量實(shí)際上是在方法中存儲(chǔ)的是內(nèi)存地址值)是放在JAVA虛擬機(jī)的棧中,該變量所指向的對(duì)象是放在堆類存中的。
?? 二:在類中聲明的變量是成員變量,也叫全局變量,放在堆中的(因?yàn)槿肿兞坎粫?huì)隨著某個(gè)方法執(zhí)行結(jié)束而銷毀)。
?????? 同樣在類中聲明的變量即可是基本類型的變量 也可是引用類型的變量
???????(1)當(dāng)聲明的是基本類型的變量其變量名及其值放在堆內(nèi)存中的
???????(2)引用類型時(shí),其聲明的變量仍然會(huì)存儲(chǔ)一個(gè)內(nèi)存地址值,該內(nèi)存地址值指向所引用的對(duì)象。引用變量名和對(duì)應(yīng)的對(duì)象仍然存儲(chǔ)在相應(yīng)的堆中
?
轉(zhuǎn)載于:https://www.cnblogs.com/wskb/p/10811752.html
總結(jié)
以上是生活随笔為你收集整理的java篇 之 变量存放位置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (十九)hashlib模块
- 下一篇: RocketMQ带你快速入门