java數(shù)據(jù)類型在JVM的位置

數(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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第6章類文件結(jié)構(gòu) 6.1 概述 6.2 無關(guān)性基石 6.3 Class類文件的結(jié)構(gòu) java虛擬機不和包括java...
    kennethan閱讀 1,073評論 0 2
  • 第二部分 自動內(nèi)存管理機制 第二章 java內(nèi)存異常與內(nèi)存溢出異常 運行數(shù)據(jù)區(qū)域 程序計數(shù)器:當(dāng)前線程所執(zhí)行的字節(jié)...
    小明oh閱讀 1,298評論 0 2
  • 這篇文章是我之前翻閱了不少的書籍以及從網(wǎng)絡(luò)上收集的一些資料的整理,因此不免有一些不準(zhǔn)確的地方,同時不同JDK版本的...
    高廣超閱讀 16,061評論 3 83
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,680評論 1 32
  • 推開這扇門, 要說的都是假話, 打開這扇窗, 聽見的都是流言, 烏云隨著靈魂行走, 走到集市, 走進人群, 走向時...
    關(guān)馨仁閱讀 167評論 0 1

友情鏈接更多精彩內(nèi)容