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

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

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

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
    Java堆,分配對象實例所在空間,是GC的主要對象。分為
     新生代(Young Generation/New)
     老年代(Tenured Generation/Old)
    新生代又劃分成
     Eden Space
     From Survivor/Survivor 0
     To Survivor/Survivor 1
    新生代要如此劃分是因為新生代使用的GC算法是復制收集算法。這種算法效率較高,而GC主要是發生在對象經常消亡的新生代,因此新生代適合使用這種復制收集算法。由于有一個假設:在一次新生代的GC(Minor GC)后大部分的對象占用的內存都會被回收,因此留存的放置GC后仍然活的對象的空間就比較小了。這個留存的空間就是Survivor space:From Survivor或To Survivor。這兩個Survivor空間是一樣大小的。例如,新生代大小是10M(Xmn10M),那么缺省情況下(-XX:SurvivorRatio=8),Eden Space 是8M,From和To都是1M。
    在new一個對象時,先在Eden Space上分配,如果Eden Space空間不夠就要做一次Minor GC。Minor GC后,要把Eden和From中仍然活著的對象們復制到To空間中去。如果To空間不能容納Minor GC后活著的某個對象,那么該對象就被promote到老年代空間。從Eden空間被復制到To空間的對象就有了age=1。此age=1的對象如果在下一次的Minor GC后仍然存活,它還會被復制到另一個Survivor空間(如果認為From和To是固定的,就是又從To回到了From空間),而它的age=2。如此反復,如果age大于某個閾值(-XX:MaxTenuringThreshold=n),那個該對象就也可以promote到老年代了。
    如果Survivor空間中相同age(例如,age=5)對象的總和大于等于Survivor空間的一半,那么age>=5的對象在下一次Minor GC后就可以直接promote到老年代,而不用等到age增長到閾值。
    在做Minor GC時,只對新生代做回收,不會回收老年代。即使老年代的對象無人索引也將仍然存活,直到下一次Full GC。
    posted on 2013-05-28 14:31 abin 閱讀(452) 評論(0)  編輯  收藏 所屬分類: JVM
    主站蜘蛛池模板: 免费观看四虎精品成人| 在线看亚洲十八禁网站| 亚洲无人区码一二三码区别图片 | 极品色天使在线婷婷天堂亚洲| 美女被暴羞羞免费视频| 男女一边桶一边摸一边脱视频免费| 暖暖日本免费中文字幕| 麻豆一区二区免费播放网站| 日本免费网站观看| 国产av无码专区亚洲av果冻传媒 | 亚洲午夜福利717| 亚洲精品韩国美女在线| 亚洲精品无码mⅴ在线观看| 麻豆va在线精品免费播放| 久久国产乱子精品免费女| 精品久久久久久久久免费影院| 国产色爽免费视频| 亚洲日韩中文字幕在线播放| 亚洲精品国产免费| 日本一区二区在线免费观看| 国产精品免费高清在线观看| 性色av无码免费一区二区三区| 成人亚洲综合天堂| 99久久亚洲精品无码毛片| 久久久久亚洲精品无码网址色欲 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 免费观看四虎精品成人| 伊人久久免费视频| 国产婷婷高清在线观看免费| 亚洲av无码片在线播放| 亚洲国产精品成人综合色在线| a级午夜毛片免费一区二区| 性做久久久久久免费观看| 亚洲中文字幕视频国产| 亚洲午夜电影在线观看| caoporm碰最新免费公开视频| 在线观看无码AV网站永久免费| 亚洲国产一区二区视频网站| 亚洲国产成人精品无码区在线秒播 | 亚洲理论电影在线观看| 亚洲熟女综合一区二区三区|