一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 淺談jvm中的垃圾回收策略

淺談jvm中的垃圾回收策略

2020-06-05 14:49jingxian JAVA教程

下面小編就為大家帶來一篇淺談jvm中的垃圾回收策略。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

java和C#中的內存的分配和釋放都是由虛擬機自動管理的,此前我已經介紹了CLR中GC的對象回收方式,是基于代的內存回收策略,其實在java中,JVM的對象回收策略也是基于分代的思想。這樣做的目的就是為了提高垃圾

回收的性能,避免對堆中的所有對象進行檢查時所帶來的程序的響應的延遲,因為jvm執行GC時,會stop the word,即終止其它線程的運行,等回收完畢,才恢復其它線程的操作。基于分代的思想是:jvm在每一次執行垃圾收集器時,只是對一小部分內存

對象引用進行檢查,這一小部分對象的生命周期也更短,從而加快了垃圾收集的性能。下面我們將來介紹java中的基于代的內存回收算法的基本策略:

一、jvm堆內存的分代劃分

在基于分代的內存回收策略中,堆空間通常都被劃分為3個代,年輕代,年老代(或者tenured代),永久代。在年輕代中又被劃分了三個小的區域,分別為:Eden(伊甸)區,S0區(survivor 0),S1區(survivor 1),如下圖所示:

淺談jvm中的垃圾回收策略

其中,新的對象總被分配到年經代中,當年輕代空間被填滿時,這時需要執行一次垃圾回收,即執行 minor GC,回收不再被引用的對象,并同時提升幸存的對象其年齡,年經代中的幸存對象都有年齡標識字段,一旦其達到一定的閾值,則仍然幸存的對象將被提升到老年代空間中。

老年代的空間用于存放長時間幸存的對象,即生命周期較長的對象,一旦年輕代空間的幸存對象達到一定的年齡閾值后,將被自動提升到年老代,當年老代空間被對象填滿時,這時執行一次Major GC。相較于minor GC, Major GC的執行次數要比minor GC要少很多,同時,Major Gc 執行的時間較Minor Gc要長。因為其涉及到更多的對象掃描。這種分代的思想,也是基于在實踐中,對于新分配的對象具有更短的生命周期,年老的對象具有更長的生命周期所作出的較佳的選擇。

與此同時,Minor Gc 和 Major Gc 在執行垃圾收集時,采取的是stop the world event ,即終止正在運行的線程,等GC執行完畢在恢復所有的線程。

對于永久代的內存,主要是用來存放元數據的相關信息,類及其方法的信息。當一個類不再使用時將會被回收,當執行Full GC時,將會掃描永久代內存,對其進行垃圾回收。

二、基于分代的垃圾回收的處理過程


首先,初始時,新對象被分配到Eden區域,s0,s1為空。當Eden中的空間被填滿時,執行一次Minor GC。垃圾收集器會將被引用的對象移動s0區,不再被引用的對象將被刪除,與此同時,對于幸存的對象標識其年齡為1. GC后,Eden和S1區為空如下圖所示。

淺談jvm中的垃圾回收策略

下一次執行Minor GC后,與先前的執行步驟相同,唯一的區別時,這次的被引用的對象,即幸存下來的對象將會被移動到S1區,與此同時在s0區幸存的對象的年齡會增加1,變成2,如下圖所示。

淺談jvm中的垃圾回收策略

當再次,執行Minor GC后,與先前的步驟相同,幸存對象會被移到S0區,給幸存對象年齡加1.如下圖所示

淺談jvm中的垃圾回收策略

最后執行Minor GC 時,發現 S1中的幸存的對象年齡達到8(假設閾值 設為8),此時該對象將被提升到老年代內存中,如下圖所示。

淺談jvm中的垃圾回收策略

淺談jvm中的垃圾回收策略

當老年代堆空間被對象填滿時,將會執行一次Major Gc,將會清除老年代不再被引用的對象,與此同時,對該空間執行壓縮。如下圖所示。

淺談jvm中的垃圾回收策略

以上這篇淺談jvm中的垃圾回收策略就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99久久精品免费看国产四区 | 青青青青在线视频 | 大陆国产精品视频 | 91精品国产综合久 | 国产精品手机视频一区二区 | 小寡妇好紧进去了好大看视频 | 99这里精品 | 成人在线观看视频免费 | 国产精品成人麻豆专区 | beeg xxxx日本| 熟睡中的麻麻大白屁股小说 | 日韩精品中文字幕视频一区 | 全彩孕交漫画福利啪啪吧 | 久久综合中文字幕佐佐木希 | 免费看男女污污完整版 | 色在线影院| 成人午夜影院在线观看 | videodesexo中国妞| 97香蕉超级碰碰碰久久兔费 | 欧美日韩一区二区三区在线视频 | 男女肉粗暴进来下面好紧 | sxx免费看观看美女 sss亚洲国产欧美一区二区 | 美女被上漫画 | 国产一卡二卡3卡4卡四卡在线视频 | 国产美女下面流出白浆视频 | 11 13加污女qq看他下面 | 久久偷拍免费2017 | 西施打开双腿下面好紧 | 91精品国产高清久久久久久91 | 国色天香社区视频免费观看3 | 国产福利在线观看永久视频 | 国产资源视频在线观看 | 亚洲天堂视频在线播放 | 色综合久久日韩国产 | 白丝vk丨tk失禁 | 四虎影院精品在线观看 | 青青青手机在线视频 | 亚洲激情网 | 精品视频久久久久 | 国产成人咱精品视频免费网站 | 蜜桃视频在线观看官网 |