posts - 17,  comments - 14,  trackbacks - 0

                JAVA虛擬機中堆棧的設計是很漂亮的。

                他是先在棧內存開辟一塊空間,假設為p1,然后再通過關鍵字new為p1在堆內存中開辟一塊空間。當程序需要在棧內存p1指向的堆內存空間中讀寫數據時,要先找到棧內存中的p1,然后由p1指向該堆內存空間,再進行讀寫數據。

                為什么要這樣設計呢?大概有兩點:

          • 棧的存取速度特別快,僅次于寄存器。當程序要在內存中讀寫數據時,先找到棧,再通過棧的指向到堆內存中進行數據的讀寫。由于不用再遍歷速度慢而且數據多的堆內存,所以程序的運行速度會更快。
          • 便于內存的回收。當程序的一些數據不用后,就會丟掉棧內存中相應的數據,此時以前指向的堆內存空間就沒有了棧的指向,變成了垃圾。這時Java虛擬機的垃圾回收機制就會將這塊沒有棧指向的堆內存空間回收,供給以后的程序使用。
          posted on 2010-10-12 03:29 Mineralwasser 閱讀(86) 評論(0)  編輯  收藏

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


          網站導航:
           
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(1)

          文章檔案(21)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 兴海县| 沾化县| 增城市| 门头沟区| 化德县| 沙湾县| 江永县| 东城区| 高清| 永胜县| 永昌县| 清原| 沧州市| 通海县| 深水埗区| 淳安县| 台南市| 桐乡市| 商都县| 普洱| 西吉县| 北流市| 沾益县| 赞皇县| 金川县| 和静县| 江阴市| 永靖县| 合阳县| 铁岭县| 白河县| 喀喇沁旗| 宣威市| 左权县| 商丘市| 麦盖提县| 泊头市| 微山县| 濮阳市| 孝感市| 荆州市|