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

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

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

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
    【51CTO精選譯文】G1垃圾回收器(簡稱G1 GC)是JDK 7中Java HotSpot VM新引入的垃圾回收器,Java SE 6 Update 14中已經(jīng)包含了一個G1的體驗版本(據(jù)51CTO之前的報導,在Java SE 6 u14于6月初登場時,原本Sun的聲明是:G1垃圾回收器需要收費方能使用。然而之后不久,Sun表示這是一個誤會,修改了原本的發(fā)布聲明,并表示現(xiàn)在以及將來對G1的使用都是完全免費的),G1是設計用于替代HotSpot低延遲的并行標記/清除垃圾回收器(也叫做CMS)的。
    Java 7 G1屬性
    G1是一個服務端垃圾回收器,有以下屬性:
    ◆并行和并發(fā)性:G1利用了當今硬件中存在的并行性,當Java應用程序的線程被停止時,它使用所有可用的CPU(核心,硬件線程等)加速其停止,在停止過程中運行Java線程最小化整個堆棧。
    ◆代:和其他HotSpot GC一樣,G1是一代,意味著它在處理新分配的對象(年輕代)和已經(jīng)生存了一段時間的對象(年老代)時會不同,它主要集中于新對象上的垃圾回收活動,因為它們是最可能回收的,舊對象只是偶爾訪問一下,對于大多數(shù)Java應用程序,代的垃圾回收對于替代方案具有重要優(yōu)勢。
    ◆壓縮:和CMS不同,G1會隨時間推移對堆棧進行壓縮,壓縮消除了潛在的碎片問題,確保長時間運行的操作流暢和一致。
    ◆可預測性:G1比CMS預測性更佳,這都是由于消除了碎片問題帶來的好處,再也沒有CMS中停止期間出現(xiàn)的負面影響,另外,G1有一個暫停預測模型,允許它滿足(或很少超過)暫停時間目標。
    Java 7 G1描述
    和其它HotSpot GC相比,G1采用了一個非常不同的堆棧布局方法,在G1中,年輕代和年老代之間沒有物理隔離,相反,它們之間有一個連續(xù)的堆棧,被分成大小一樣的區(qū)域(region),年輕代可能是一套非連續(xù)的區(qū)域,年老代也一樣,這就允許G1在年輕代和年老代之間靈活地移動資源。
    G1中的回收是通過消除暫停發(fā)生的,在此期間,幸存者指的是回收集被轉(zhuǎn)移到另一個區(qū)域,以便回收區(qū)域可以再生,消除暫停是并行的,所有可用的CPU都會參加,大多數(shù)消除暫停收集可用的年輕區(qū)域,和其它HotSpot GC中的年輕回收是一樣的,在暫停期間偶爾也會選擇年老區(qū)域回收,因為G1在年輕一代回收上還肩負了年老代的回收活動。
    和CMS相同的是,G1會定期執(zhí)行一個并發(fā)標記暫停,這個階段的主要職責是識別哪一個年老區(qū)域的垃圾對象是最完整的,因為這些是最有效和最值得回收的,和CMS不同的是,G1不會執(zhí)行并發(fā)清除暫停,相反,最有用的年老區(qū)域是通過并發(fā)標記暫停標識的,在隨后的消除暫停期間進行回收。
    使用G1
    G1仍然被看做是試驗品,可以使用下面兩個參數(shù)開啟它:
    -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC 
    為了設置一個GC暫停時間目標,使用下面的參數(shù):
    -XX:MaxGCPauseMillis =50  (暫停時間目標50ms) 
    使用G1時還可以指定時間間隔,當GC暫停持續(xù)時間沒有上面給出的時間長時可以這么用:
    -XX:GCPauseIntervalMillis =200  (暫停間隔目標200ms) 
    注意上面兩個選項表示的目標,沒有承諾和保證,在某些情況下它們可能能夠工作,GC不是總是能夠執(zhí)行它們。
    另外,年輕代的大小可以明確指定影響消除暫停時間:
    -XX:+G1YoungGenSize=512m (年輕代大小512M) 
    G1也使用幸存空間(可能是非連續(xù)的區(qū)域),它們的大小可以使用一個常見的參數(shù)指定,如:
    -XX:SurvivorRatio=6 
    最后,為了運行G1充分發(fā)揮其潛力,嘗試設置以下兩個默認被禁用了的參數(shù),因為它們可能會暴露一個罕見的競爭狀態(tài):
    -XX:+G1ParallelRSetUpdatingEnabled  
     
    -XX:+G1ParallelRSetScanningEnabled  
    注意當設置了-XX:+PrintGCDetails后,G1比起其它HotSpot GC要啰嗦得多,因為它會打印每個GC線程的計時和其它有助于進行故障排除的信息,如果你想使GC日志更簡單,請使用-verbosegc參數(shù)。
    Java 7 G1最新進展
    G1開發(fā)現(xiàn)在主要集中在遺留的可靠性問題和改善性能,同時也在逐步移除下面的限制:
    ◆G1不能完全支持JVM工具接口(JVM TI)或Java管理擴展(JMX),因此關(guān)于G1的監(jiān)視和管理工具很可能不能正常工作;
    ◆G1不支持增量永久性代回收,如果一個應用程序產(chǎn)生了許多類轉(zhuǎn)儲,需要永久性代回收,這在完整GC期間是可以實現(xiàn)的;
    ◆從GC暫停時間來說,G1有時表現(xiàn)比CMS好有時比CMS差。
    原文:Java HotSpot Garbage Collection
    posted on 2015-03-09 20:15 abin 閱讀(409) 評論(0)  編輯  收藏 所屬分類: JVM
    主站蜘蛛池模板: 日韩亚洲Av人人夜夜澡人人爽| 亚洲kkk4444在线观看| 国产一区二区免费| 亚洲理论片中文字幕电影| 日本免费人成黄页在线观看视频| 欧洲乱码伦视频免费国产| 亚洲色四在线视频观看| 狠狠久久永久免费观看| a色毛片免费视频| 亚洲中文字幕无码中文字| 亚洲最大AV网站在线观看| 曰曰鲁夜夜免费播放视频 | 免费h片在线观看网址最新| 亚洲国产欧美一区二区三区| 亚洲AV午夜福利精品一区二区| 免费无遮挡无码视频网站| 免费污视频在线观看| 国产精品亚洲精品日韩动图| 久久水蜜桃亚洲av无码精品麻豆 | 亚洲一区精品无码| 成人免费男女视频网站慢动作| 三级网站免费观看| 亚洲精品无AMM毛片| 亚洲黄色免费网站| 自拍偷自拍亚洲精品第1页| 最近免费中文字幕视频高清在线看| 两个人看的www免费视频中文| 亚洲国产成人综合精品| 亚洲成人午夜电影| 亚洲成AV人片一区二区密柚| 免费人成视频在线观看不卡| 日韩一区二区a片免费观看| 国产亚洲免费的视频看| 免费人成在线观看播放a| 亚洲性线免费观看视频成熟| 99久久亚洲精品无码毛片| 在线亚洲人成电影网站色www| 国产传媒在线观看视频免费观看 | 亚洲片国产一区一级在线观看| 免费黄色网址入口| 国产乱码免费卡1卡二卡3卡|