posts - 4,  comments - 0,  trackbacks - 0
          Heap堆內存理解

          一個JVM實例只有一個堆內存,堆內存的大小是可以調節的。類加載器讀取類文件后,需要把類文件、方法、常量放入到堆內存中,以便執行器執行,堆內存分為三部分:

          1. Permanent Space 永久存儲區

          永久存儲區是一個常駐內存區域,用于存放JDK自身所攜帶的Class,Interface的元數據,也就是說它存儲的是運行環境必須的類信息,被裝載進此區域的數據是不會被垃圾回收器回收掉的,關閉JVM才會釋放此區域所占用的內存。
          2.Young Generation Space 新生區
          新生區是類的誕生、成長、消亡的區域,一個類在這里產生,應用,最后被垃圾回收器收集,結束生命。
          新生區又分為兩部分:伊甸區(Eden space)和幸存者區(Survivor pace)。
          所有的類都是在伊甸區被new出來的。幸存區有兩個: 0區(Survivor 0 space)和1區(Survivor 1 space)。當伊甸園的空間用完時,程序又需要創建對象,JVM的垃圾回收器將對伊甸園區進行垃圾回收,將伊甸園區中的不再被其他對象所引用的對象進行銷毀。然后將伊甸園中的剩余對象移動到幸存0區。若幸存0區也滿了,再對該區進行垃圾回收,然后移動到1區。那如果1區也滿了呢?再移動到養老區。

          3. Tenure Generation Space 養老區
          養老區用于保存從新生區篩選出來的JAVA對象,一般池對象都在這個區域活躍。 三個區的示意圖如下:


          posted on 2011-05-21 09:42 賀斌 閱讀(590) 評論(0)  編輯  收藏

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


          網站導航:
           
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 全南县| 长沙市| 普陀区| 美姑县| 元谋县| 漳平市| 甘德县| 抚顺市| 洛隆县| 西城区| 建宁县| 宁陵县| 增城市| 商城县| 泉州市| 美姑县| 象州县| 北海市| 安义县| 贵溪市| 泊头市| 富源县| 金乡县| 达拉特旗| 铜陵市| 正蓝旗| 安宁市| 象山县| 高台县| 延寿县| 东兰县| 新营市| 荔波县| 崇文区| 上栗县| 博爱县| 镇远县| 从江县| 临夏市| 化隆| 库伦旗|