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

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

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

    Junky's IT Notebook

    統(tǒng)計

    留言簿(8)

    積分與排名

    WebSphere Studio

    閱讀排行榜

    評論排行榜

    JVM的垃圾回收機制詳解和調優(yōu)

      1.JVM的gc概述

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

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

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

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

    1.2.對象引用遍歷
      早期的jvm使用引用計數(shù),現(xiàn)在大多數(shù)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的垃圾回收機制詳解和調優(yōu) 2006-08-02 18:44 youke

    the title is big  回復  更多評論   

    主站蜘蛛池模板: 国产精品亚洲小说专区| 亚洲黄色免费网站| 美国免费高清一级毛片| 国产性生交xxxxx免费| 久久亚洲精品无码av| 国产成人免费片在线视频观看| 在线观看亚洲AV日韩AV| 成人免费午夜无码视频| 亚洲砖码砖专无区2023| 国产免费131美女视频| 在线播放国产不卡免费视频| 伊人婷婷综合缴情亚洲五月| 久久精品国产免费一区| 亚洲国产精品久久人人爱| 在线观看免费人成视频| 亚洲日韩av无码中文| 亚洲 国产 图片| 日本视频在线观看永久免费| 亚洲成av人片不卡无码| 国产男女猛烈无遮档免费视频网站 | 在线免费一区二区| 美女扒开屁股让男人桶爽免费 | 免费av一区二区三区| 亚洲婷婷在线视频| 午夜毛片不卡免费观看视频| 免费人人潮人人爽一区二区| 亚洲国产精品VA在线看黑人 | 久久久久久精品免费看SSS | 亚洲色精品VR一区区三区| 免费在线看片网站| 国产亚洲免费的视频看| 久久精品国产99国产精品亚洲| 精品国产免费观看久久久| jizz18免费视频| 亚洲理论片在线中文字幕| 免费国产人做人视频在线观看| a级毛片毛片免费观看永久| 亚洲精品福利你懂| 中文字幕久久亚洲一区 | 精品亚洲永久免费精品| 国产免费毛不卡片|