国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
java中的基本數(shù)據(jù)類型一定存儲在棧中嗎?

   首先說明,"java中的基本數(shù)據(jù)類型一定存儲在棧中的嗎?”這句話肯定是錯(cuò)誤的。

   下面讓我們一起來分析一下原因:

   基本數(shù)據(jù)類型是放在棧中還是放在堆中,這取決于基本類型在何處聲明,下面對數(shù)據(jù)類型在內(nèi)存中的存儲問題來解釋一下:

   一:在方法中聲明的變量,即該變量是局部變量,每當(dāng)程序調(diào)用方法時(shí),系統(tǒng)都會為該方法建立一個(gè)方法棧,其所在方法中聲明的變量就放在方法棧中,當(dāng)方法結(jié)束系統(tǒng)會釋放方法棧,其對應(yīng)在該方法中聲明的變量隨著棧的銷毀而結(jié)束,這就局部變量只能在方法中有效的原因

      在方法中聲明的變量可以是基本類型的變量,也可以是引用類型的變量。

         (1)當(dāng)聲明是基本類型的變量的時(shí),其變量名及值(變量名及值是兩個(gè)概念)是放在JAVA虛擬機(jī)棧中

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

   二:在類中聲明的變量是成員變量,也叫全局變量,放在堆中的(因?yàn)槿肿兞坎粫S著某個(gè)方法執(zhí)行結(jié)束而銷毀)。

       同樣在類中聲明的變量即可是基本類型的變量 也可是引用類型的變量

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

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

 

 

  此外,為了反駁觀點(diǎn)" Java的基本數(shù)據(jù)類型都是存儲在棧的 ",我們也可以隨便舉出一個(gè)反例,例如:

      int[] array=new int[]{1,2};

      由于new了一個(gè)對象,所以new int[]{1,2}這個(gè)對象時(shí)存儲在堆中的,也就是說1,2這兩個(gè)基本數(shù)據(jù)類型是存儲在堆中,

      這也就很有效的反駁了基本數(shù)據(jù)類型一定是存儲在棧中~~

      參考鏈接:http://bbs.csdn.net/topics/390457167

                     http://wenku.baidu.com/view/8c66da7e27284b73f2425056.html

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服