<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一区二区三区| 精品久久亚洲中文无码| 久久国产乱子伦免费精品| 99亚洲精品高清一二区| 国产精品偷伦视频观看免费| 亚洲大成色www永久网站| 最近中文字幕免费大全| 亚洲av综合av一区| 久久亚洲免费视频| 亚洲制服中文字幕第一区| 永久免费精品影视网站| 四虎永久在线观看免费网站网址| 亚洲av永久无码精品漫画| 16女性下面扒开无遮挡免费| 久久久久亚洲爆乳少妇无 | 国产亚洲精品看片在线观看| 人妻18毛片a级毛片免费看| 内射无码专区久久亚洲| 精品一区二区三区免费观看| 亚洲AV午夜福利精品一区二区| 全黄大全大色全免费大片| 亚洲网站免费观看| 最近免费中文字幕大全| 国产亚洲视频在线观看网址 | 中文字幕免费视频精品一| 亚洲男人av香蕉爽爽爽爽| 色吊丝性永久免费看码| 免费jjzz在线播放国产| baoyu122.永久免费视频| 亚洲国产一区二区a毛片| 亚洲午夜精品一级在线播放放 | 成年大片免费高清在线看黄| 毛片免费全部播放一级| 啦啦啦在线免费视频| 亚洲一区精品中文字幕| 欧洲黑大粗无码免费| 深夜福利在线视频免费| 亚洲日本在线看片| **一级毛片免费完整视|