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

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

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

    Junky's IT Notebook

    統計

    留言簿(8)

    積分與排名

    WebSphere Studio

    閱讀排行榜

    評論排行榜

    JVM的垃圾回收機制詳解和調優

      1.JVM的gc概述

      gc即垃圾收集機制是指jvm用于釋放那些不再使用的對象所占用的內存。java語言并不要求jvm有gc,也沒有規定gc如何工作。不過常用的jvm都有gc,而且大多數gc都使用類似的算法管理內存和執行收集操作。

      在充分理解了垃圾收集算法和執行過程后,才能有效的優化它的性能。有些垃圾收集專用于特殊的應用程序。比如,實時應用程序主要是為了避免垃圾收集中斷,而大多數OLTP應用程序則注重整體效率。理解了應用程序的工作負荷和jvm支持的垃圾收集算法,便可以進行優化配置垃圾收集器。

      垃圾收集的目的在于清除不再使用的對象。gc通過確定對象是否被活動對象引用來確定是否收集該對象。gc首先要判斷該對象是否是時候可以收集。兩種常用的方法是引用計數和對象引用遍歷。

    1.1.引用計數
      引用計數存儲對特定對象的所有引用數,也就是說,當應用程序創建引用以及引用超出范圍時,jvm必須適當增減引用數。當某對象的引用數為0時,便可以進行垃圾收集。

    1.2.對象引用遍歷
      早期的jvm使用引用計數,現在大多數jvm采用對象引用遍歷。對象引用遍歷從一組對象開始,沿著整個對象圖上的每條鏈接,遞歸確定可到達(reachable)的對象。如果某對象不能從這些根對象的一個(至少一個)到達,則將它作為垃圾收集。在對象遍歷階段,gc必須記住哪些對象可以到達,以便刪除不可到達的對象,這稱為標記(marking)對象。

      下一步,gc要刪除不可到達的對象。刪除時,有些gc只是簡單的掃描堆棧,刪除未標記的未標記的對象,并釋放它們的內存以生成新的對象,這叫做清除(sweeping)。這種方法的問題在于內存會分成好多小段,而它們不足以用于新的對象,但是組合起來卻很大。因此,許多gc可以重新組織內存中的對象,并進行壓縮(compact),形成可利用的空間。

      為此,gc需要停止其他的活動活動。這種方法意味著所有與應用程序相關的工作停止,只有gc運行。結果,在響應期間增減了許多混雜請求。另外,更復雜的gc不斷增加或同時運行以減少或者清除應用程序的中斷。有的gc使用單線程完成這項工作,有的則采用多線程以增加效率。

    posted on 2006-06-04 22:16 junky 閱讀(317) 評論(1)  編輯  收藏 所屬分類: java

    評論

    # re: JVM的垃圾回收機制詳解和調優 2006-08-02 18:44 youke

    the title is big  回復  更多評論   

    主站蜘蛛池模板: 麻豆狠色伊人亚洲综合网站| 亚洲一区在线视频| 边摸边吃奶边做爽免费视频网站 | 一区二区三区四区免费视频| 亚洲日韩精品A∨片无码| 国产精品内射视频免费| 久久亚洲国产成人影院网站 | 在线91精品亚洲网站精品成人| 99久久免费精品国产72精品九九| 亚洲精品中文字幕无乱码麻豆| 在线观看免费高清视频| 精品福利一区二区三区免费视频| 91精品国产亚洲爽啪在线观看| 亚洲av无码片vr一区二区三区 | 亚洲专区先锋影音| 亚洲成人免费网站| 中文字幕在线日亚洲9| 国产男女猛烈无遮挡免费视频网站 | 精品国产免费观看久久久 | 东北美女野外bbwbbw免费| 亚洲AV日韩AV永久无码下载| 亚洲免费一级视频| 亚洲中文字幕久久无码| 免费大香伊蕉在人线国产| aaa毛片免费观看| 亚洲综合久久综合激情久久| 免费无码AV电影在线观看| 国产精品亚洲小说专区| 国产av无码专区亚洲av果冻传媒| 美丽姑娘免费观看在线观看中文版 | 日本二区免费一片黄2019| 一区二区三区在线免费 | 婷婷精品国产亚洲AV麻豆不片| 182tv免费视视频线路一二三| 亚洲欧洲无码AV不卡在线| 国产乱辈通伦影片在线播放亚洲| 无码精品人妻一区二区三区免费看 | 青青青国产在线观看免费网站 | 亚洲国产精品尤物yw在线| 免费A级毛片无码专区| 亚洲欧美日韩国产成人|