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

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

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

    posts - 10,comments - 2,trackbacks - 0
    1、引用計數(reference counting)
        原理:此對象有一個引用,則+1;刪除一個引用,則-1。只用收集計數為0的對象。
        
    缺點:無法處理循環引用的問題。如:
    對象A和B分別有字段b、a,令A.b=B和B.a=A,除此之外這2個對象再無任何引用,那實際上這2個對象已經不可能再被訪問,但是引用計數算法卻無法回收他們。 

    2、復制(copying)
        原理:把內存空間劃分為2個相等的區域,每次只使用一個區域。垃圾回收時,遍歷當前使用區域,把正在使用的對象復制到另外一個區域。
        優點:不會出現碎片問題。
        缺點:1、暫停整個應用。2、需要2倍的內存空間。

    3、
    標記-清掃(Mark-and-sweep)---sun前期版本就是用這個技術。
        原理:對于“活”的對象,一定可以追溯到其存活在堆棧、靜態存儲區之中的引用。這個引用鏈條可能會穿過數個對象層次。第一階段:從GC roots開始遍歷所有的引用,對有活的對象進行標記。第二階段:對堆進行遍歷,把未標記的對象進行清除。這個解決了循環引用的問題。
        缺點:1、暫停整個應用;2、會產生內存碎片。

    4、
    標記-壓縮(Mark-Compact)自適應
        原理:第一階段標記活的對象,第二階段把為標記的對象壓縮到堆的其中一塊,按順序放。
        優點:1、避免標記掃描的碎片問題;2、避免停止復制的空間問題。
        
        
    具體使用什么方法GC,Java虛擬機會進行監視,如果所有對象都很穩定,垃圾回收器的效率低的話,就切換到“標記-掃描”方式;同樣,Java虛擬機會跟蹤“標記-掃描”的效果,要是堆空間碎片出現很多碎片,就會切換回“停止-復制”模式。這就是自適應的技術。

    5、分代(generational collecting)
    -----J2SE1.2以后使用此算法
        原理:基于對象生命周期分析得出的垃圾回收算法。把對象分為年輕代、年老代、持久代,對不同的生命周期使用不同的算法(2-3方法中的一個即4自適應)進行回收。


    如上圖所示:為Java的各代分布圖
    年輕代(young)
        分為3個區。一個Eden區,2個survivor區。大部分對象在Eden中生成。當Eden區滿時,還存活的對象將被復制到survivor區。當該survivor區滿時,此區的存活對象被復制到另外一個survivor區,當第2個survivor區也滿時,該區還存活的對象將被復制到年老區(tenured)。

    年老代(tenured)
       存放從年輕代(young)復制過來的對象。

    持久代(perm)
        用于存放靜態文件,如Java類、方法等。持久代對垃圾回收沒有顯著的影響,但是有些應用可能動態生成或者調用一些class。持久代大小通過
    -XX:MaxPermSize=N進行設置

    Thinking in java給java gc取了一個羅嗦的稱呼:“自適應、分代的、停止-復制、標記-掃描”式的垃圾回收器。

    導致Gc的情況:
    1、tenured被寫滿
    2、perm被寫滿
    3、System.gc()的顯式調用。
    4、上一次GC之后heap的各域分配策略動態變化。
    posted on 2011-07-21 00:45 showsun 閱讀(4524) 評論(1)  編輯  收藏 所屬分類: J2SE

    FeedBack:
    # re: Java GC基本算法
    主站蜘蛛池模板: 99在线观看精品免费99| 大地资源网高清在线观看免费 | 久久久久无码精品亚洲日韩| 亚洲成人免费在线| 456亚洲人成影院在线观| 亚洲大码熟女在线观看| 国产99久久久国产精免费| 久久久久国产精品免费网站| 日韩精品成人无码专区免费 | 亚洲av无码精品网站| 亚洲网红精品大秀在线观看| 在线观看亚洲AV每日更新无码 | 黄页视频在线观看免费| 99视频免费在线观看| 97国产免费全部免费观看| 国产精品久久久久影院免费| 亚洲精品成人片在线观看精品字幕 | 视频免费1区二区三区| 日韩免费人妻AV无码专区蜜桃| 国产免费看JIZZ视频| 亚洲第一视频在线观看免费| 亚洲狠狠综合久久| 亚洲精品第一国产综合亚AV| a毛片在线免费观看| 91情侣在线精品国产免费| 亚洲日韩在线观看| 亚洲毛片一级带毛片基地| 国产av无码专区亚洲av毛片搜| 久久精品视频免费播放| 国产精品冒白浆免费视频| 亚洲va无码va在线va天堂| 亚洲av综合av一区二区三区 | 精品多毛少妇人妻AV免费久久 | 国产精品免费观看调教网| 日韩高清免费观看| 久久精品国产96精品亚洲| 色欲色欲天天天www亚洲伊| 桃子视频在线观看高清免费视频| 日韩高清在线免费观看| 亚洲色大成网站www永久| 无码AV动漫精品一区二区免费|