<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 17,  comments - 14,  trackbacks - 0

          首先,寫一段程序,分析程序執行的過程中,堆棧空間的開辟、空間內數據的寫入和垃圾空間的回收。

        上代碼

    Person

    Demo01

    程序運行結果為:

    01

    分析程序執行過程:

    創建Person類,屬性有name和age,構建一個say方法:打印姓名和年齡。

    然后逐句分析Demo01運行過程,及運行過程中堆棧內存的開辟、寫入數據和回收。

    Person p1 = new Person(); //在棧內存中開辟p1,然后用new關鍵字創建對象,

                                           //也就是在對內存中開辟p1所指向的堆內存空間。

    Person p2 = new Person(); //在棧內存中開辟p2,然后用new關鍵字創建對象,

                                           //也就是在對內存中開辟p2所指向的堆內存空間。

    此時的堆棧內存:

    02

    接下來的四句話為:

    p1.name = "張三";

    p1.age = 20;

    p2.name = "李四";

    p2.age = 30;

    此時的堆棧內存為:

    04

    最后對p1、p2執行say方法,結果為:

    01

    若把程序改一下,加上一句話:p2 = p1;

    程序變為:

    Demo01

    再執行:

    執行加入的語句之前不變,堆??臻g也和加之前相同,當執行加入的語句之后,

    堆棧內存為:

    05

    此時棧內存p2指向p1所指向的堆內存空間,而p2之前指向的堆內存空間已經沒有了棧內存的指向,

    因此成為垃圾,就會被回收掉,堆棧內存變為:

    07

    再執行下面兩句,為p1指向的堆內存空間賦值,由于p1、p2指向同一塊堆內存,也就相當于為p2

    指向的堆內存空間賦值,堆棧內存變為:

    06

    再執行下面兩句,為p2指向的堆內存空間賦值,由于p1、p2指向同一塊堆內存,也就相當于為

    p1指向的堆棧內存空間重新賦值,堆棧內存變為:

    08

    我們可以看到,棧內存p1、p2所指向的同一塊堆內存中的數據改變了,然后執行下面的say方法,

    執行結果為:

    09

    為什么兩句結果相同呢?因為是程序按語句的順序執行,先改變堆內存的數據,后執行的say方法,

    所以兩句結果相同。

    若把程序再改一下,把 p1.say(); 提前

    程序變為:

    Demo01

    執行語句 p1.say();  之前,堆棧內存為:

    06

    執行 p1.say(); 對堆棧內存沒有影響,只是輸出此時p1所指向的堆內存中的數據:

    輸出:10 ,然后繼續執行下面的語句。

    執行p2.name = "李四"; p2.age = 30;

    為p2指向的堆內存空間賦值,由于p1、p2指向同一塊堆內存,也就相當于為

    p1指向的堆棧內存空間重新賦值,堆棧內存變為:

    08

    然后執行  2.say();  輸出棧內存 p2 指向的對內存中的數據:“姓名:李四, 年齡:30”

    完整的程序執行完后,輸出結果為:

    11

    總結:

          語句的排列順序不同,程序執行的結果也不同。

    posted on 2010-10-12 02:55 Mineralwasser 閱讀(246) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    文章檔案(21)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲成av人片天堂网| 亚洲国产高清国产拍精品| 亚洲国产人成精品| 一区二区三区视频免费观看| 亚洲av一综合av一区| 国产精品成人观看视频免费| 亚洲AV无码AV日韩AV网站| 国产福利视精品永久免费| 猫咪www免费人成网站| 精品亚洲麻豆1区2区3区| 免费乱码中文字幕网站| 97视频免费观看2区| 国产精品久久久久久亚洲影视 | 亚洲色成人WWW永久网站| 成年人网站免费视频| WWW国产成人免费观看视频| 亚洲最大的黄色网| 亚洲综合网站色欲色欲| 一本无码人妻在中文字幕免费| 国产特黄特色的大片观看免费视频| 亚洲白色白色永久观看| 区久久AAA片69亚洲| 成人免费视频小说| 99re这里有免费视频精品| 久香草视频在线观看免费| 亚洲国产精品一区二区三区在线观看 | 国产精品亚洲专区无码不卡| 免费人成激情视频| 老司机在线免费视频| 久久国产精品一区免费下载| 一区二区三区精品高清视频免费在线播放 | 成人免费a级毛片| 污污网站免费观看| 一级看片免费视频囗交| 久久亚洲最大成人网4438| 亚洲国产综合91精品麻豆| 中文字幕亚洲图片| 国产在线98福利播放视频免费| 无码人妻一区二区三区免费手机| 日韩精品无码免费专区网站| 最好2018中文免费视频|