<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
        在jvm中堆空間劃分為三個代:年輕代(Young Generation)、年老代(Old Generation)和永久代(Permanent Generation)。年輕代和年老代是存儲動態(tài)產生的對象。永久帶主要是存儲的是java的類信息,包括解析得到的方法、屬性、字段等等。永久帶基本不參與垃圾回收。我們這里討論的垃圾回收主要是針對年輕代和年老代。具體如下圖。



    年輕代又分成3個部分,一個eden區(qū)和兩個相同的survior區(qū)。剛開始創(chuàng)建的對象都是放置在eden區(qū)的。分成這樣3個部分,主要是為了生命周期短的對象盡量留在年輕帶。當eden區(qū)申請不到空間的時候,進行minorGC,把存活的對象拷貝到survior。年老代主要存放生命周期比較長的對象,比如緩存對象。具體jvm內存回收過程描述如下(可以結合上圖):

    1、對象在Eden區(qū)完成內存分配
    2、當Eden區(qū)滿了,再創(chuàng)建對象,會因為申請不到空間,觸發(fā)minorGC,進行young(eden+1survivor)區(qū)的垃圾回收
    3、minorGC時,Eden不能被回收的對象被放入到空的survivor(Eden肯定會被清空),另一個survivor里不能被GC回收的對象也會被放入這個survivor,始終保證一個survivor是空的
    4、當做第3步的時候,如果發(fā)現(xiàn)survivor滿了,則這些對象被copy到old區(qū),或者survivor并沒有滿,但是有些對象已經足夠Old,也被放入Old區(qū) XX:MaxTenuringThreshold
    5、當Old區(qū)被放滿的之后,進行fullGC

    在知道垃圾回收機制以后,大家可以在對jvm中堆的各個參數(shù)進行優(yōu)化設置,來提高性能。









    posted on 2014-12-24 23:41 abin 閱讀(410) 評論(0)  編輯  收藏 所屬分類: JVM
    主站蜘蛛池模板: 亚洲午夜未满十八勿入网站2| 亚洲一区二区三区成人网站| 免费在线视频你懂的| 亚洲人成色4444在线观看| 亚洲一级片免费看| 亚洲视频在线观看免费视频| 亚洲成在人线在线播放无码 | 污视频在线观看免费| 亚洲一区二区三区在线观看网站| 亚洲精品高清在线| 1000部拍拍拍18勿入免费凤凰福利| 男男gvh肉在线观看免费| 伊人久久综在合线亚洲2019| 国产午夜免费秋霞影院| 十八禁无码免费网站 | 久久午夜免费视频| 中文字幕手机在线免费看电影| 亚洲a级片在线观看| 国产亚洲精品国产| 日产乱码一卡二卡三免费| 无码国产精品一区二区免费式芒果| 亚洲1区2区3区精华液| 亚洲午夜久久影院| 亚洲国产精品第一区二区三区| 黄色永久免费网站| 中文无码成人免费视频在线观看 | 亚洲AV综合色区无码二区爱AV| 久久久久亚洲AV综合波多野结衣 | 四虎影永久在线高清免费| 亚洲美女视频免费| 少妇性饥渴无码A区免费 | 成全视频在线观看免费| 色妞www精品视频免费看| 亚洲一区二区三区国产精华液| 亚洲天堂男人天堂| 国产∨亚洲V天堂无码久久久| 国产一级大片免费看| 我要看WWW免费看插插视频| 麻豆高清免费国产一区| 国产日韩一区二区三免费高清 | 日本免费一区尤物|