基本類型變量、引用類型變量的在java中的存放位置


 一、局部變量存儲在方法棧中

   在方法中聲明的變量,即該變量是局部變量,每當程序調用方法時,系統都會為該方法建立一個方法棧,其所在方法中聲明的變量就放在方法棧中,當方法結束系統會釋放方法棧,其對應在該方法中聲明的變量隨着棧的銷毀而結束,這就局部變量只能在方法中有效的原因。在方法中聲明的變量可以是基本類型的變量,也可以是引用類型的變量。

         (1)當聲明是基本類型的變量的時,其變量名及值(變量名及值是兩個概念)是放在JAVA虛擬機棧中

         (2)當聲明的是引用變量時,所聲明的變量(該變量實際上是在方法中存儲的是內存地址值)是放在JAVA虛擬機的棧中,該變量所指向的對象是放在堆類存中的。

二、全局變量存儲在堆中

  在類中聲明的變量是成員變量,也叫全局變量,放在堆中的(因為全局變量不會隨着某個方法執行結束而銷毀)。同樣在類中聲明的變量即可是基本類型的變量 也可是引用類型的變量

       (1)當聲明的是基本類型的變量其變量名及其值放在堆內存中的

       (2)引用類型時,其聲明的變量仍然會存儲一個內存地址值,該內存地址值指向所引用的對象。引用變量名和對應的對象仍然存儲在相應的堆中

轉載自 https://www.cnblogs.com/xiohao/p/4296059.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM