成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JVM系列之JVM垃圾回收算法相關(guān)知識

開發(fā) 前端
JVM垃圾回收算法主要有標(biāo)記清除、復(fù)制算法、標(biāo)記整理、分代收集四種,下面來逐一介紹。

今天給大家繼續(xù)分享JVM垃圾回收算法相關(guān)知識。

JVM垃圾回收算法主要有標(biāo)記清除、復(fù)制算法、標(biāo)記整理、分代收集四種,下面來逐一介紹。

1、標(biāo)記清除(Mark-Sweep)

       圖片        

標(biāo)記清除作為最基礎(chǔ)的垃圾回收算法,其過程要經(jīng)歷兩個階段:標(biāo)記、回收。

標(biāo)記:遍歷內(nèi)存區(qū)域,標(biāo)記出待回收的對象。

回收:再次遍歷內(nèi)存區(qū)域,然后對已標(biāo)記的對象占用的內(nèi)存進行回收。

缺點:

  • 需要遍歷兩次內(nèi)存區(qū)域,效率低。
  • 因為JVM存儲特點是邏輯上連續(xù),物理上可以不連續(xù),標(biāo)記清除算法可能產(chǎn)生大量內(nèi)存碎片,當(dāng)JVM需要一塊比較大的內(nèi)存空間的時候,而又找不到合適的內(nèi)存空間,就會觸發(fā)下一次的垃圾回收操作。

2、復(fù)制算法(Copy)


       圖片        

復(fù)制算法主要是解決標(biāo)記—清除算法遍歷的和產(chǎn)生內(nèi)存碎片的缺點,在其基礎(chǔ)上進行改進而來的,它會將可用內(nèi)存按容量分為大小相等的兩塊,每次只能使用其中的一塊,當(dāng)正在使用的這一塊的內(nèi)存空間不滿足使用的時候,就會將還存活的對象復(fù)制到另外一塊空的內(nèi)存上面,然后再把當(dāng)前內(nèi)存空間一次清理掉。

復(fù)制算法在新生代中兩個幸存區(qū)(From 、To)的不停交換是最典型的用法。

新生代內(nèi)存空間占比為 8(Eden 伊甸園區(qū)  ):1 (To Survivor):1 (Survivor From)。

優(yōu)點

  • 內(nèi)存回收時,不會產(chǎn)生內(nèi)存碎片
  • 回收的時候只需移動棧頂指針,按順序分配內(nèi)存即可,實現(xiàn)簡單
  • 每次只對兩塊中的一塊內(nèi)存進行回收,效率高
  • 復(fù)制算法執(zhí)行后,空間時連續(xù)的。

缺點:

一次性分配內(nèi)存只能用其中的一半,內(nèi)存的最大可利用率只有一半。

3、標(biāo)記整理(Mark-Compact)

       圖片        

標(biāo)記整理算法主要是針對老年代來設(shè)計的。

執(zhí)行過程:

  • 標(biāo)記:對需要回收對象的進行標(biāo)記。
  • 整理:讓存活的對象,向內(nèi)存的一端移動,在整理的過程中,之前對象的在虛擬機棧中的引用地址也隨之發(fā)生改變,最后直接清理掉非存活對象的內(nèi)存空間。

優(yōu)點:

  • 沒有碎片化內(nèi)存產(chǎn)生(標(biāo)記清除算法比較)。
  • 沒有了內(nèi)存利用率減半的消耗(復(fù)制算法比較)。

缺點:

  • 效率相比標(biāo)記復(fù)制算法稍低。
  • 在整理存活對象過程中,因為存活對象位置點變動,需要調(diào)整對象在虛擬機棧中的引用地址,同時需要全程暫停用戶線程,STW(Stop The World)。

4、分代收集算法

嚴格意義上來說分代收集不能算一種新的垃圾回收算法,分代收集其實只是根據(jù)對象的存活的時間的長短,將新生代和老年代針對不同的內(nèi)存區(qū)域,采取對應(yīng)的算法。目前市面上大多商用虛擬機都采用分代收集算法。

新生代:每次都有大量對象消亡,因為有老年代作為內(nèi)存擔(dān)保,比較采取復(fù)制算法。

老年代:對象存活時間長,可采用標(biāo)記整理、標(biāo)記清除算法。

5、三種垃圾回收算法對比

對比參數(shù)

標(biāo)記清除

標(biāo)記整理

標(biāo)記復(fù)制

速度

中等

最慢

最快

空間開銷

少(會產(chǎn)生碎片)

少(不會產(chǎn)生碎片)

2倍開銷

移動對象

適合場景

老年代

老年代

新生代

責(zé)任編輯:姜華 來源: IT技術(shù)分享社區(qū)
相關(guān)推薦

2017-08-04 10:53:30

回收算法JVM垃圾回收器

2022-01-20 10:34:49

JVM垃圾回收算法

2022-03-21 11:33:11

JVM垃圾回收器垃圾回收算法

2022-06-07 07:10:40

MinorGCMajorGCFullGC

2009-12-25 16:15:31

JVM垃圾回收算法

2021-11-05 15:23:20

JVM回收算法

2023-08-08 10:29:55

JVM優(yōu)化垃圾回收

2012-01-09 16:53:36

JavaJVM

2021-02-04 10:43:52

開發(fā)技能代碼

2010-09-27 09:01:26

JVM分代垃圾回收

2010-09-26 16:42:04

JVM內(nèi)存組成JVM垃圾回收

2022-06-22 09:54:45

JVM垃圾回收Java

2010-09-26 13:29:46

JVM垃圾回收

2009-12-30 10:14:29

JVM垃圾回收

2010-09-25 15:33:19

JVM垃圾回收

2017-04-25 14:39:55

JVM內(nèi)存Java

2010-09-16 15:10:24

JVM垃圾回收機制

2010-09-25 15:26:12

JVM垃圾回收

2017-09-21 14:40:06

jvm算法收集器

2025-01-06 08:22:41

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩一级精品视频在线观看 | 精品国产一区二区国模嫣然 | 久久国产视频网站 | 久久不卡区 | 久久久久久久久久久福利观看 | 91亚洲一区| 久久久久久久久久久久91 | 中文一区二区视频 | 国产精品99久久久久久久vr | 中文字幕一区二区三区精彩视频 | 成人欧美一区二区三区在线观看 | 91精品在线播放 | 天天干狠狠干 | 日韩视频在线播放 | 国产日产精品一区二区三区四区 | 日韩手机在线看片 | 综合在线视频 | 日本不卡一区 | 天堂视频中文在线 | 免费成人高清在线视频 | 午夜免费在线电影 | 国产日韩欧美激情 | 亚洲精品3 | 国内自拍视频在线观看 | 午夜免费精品视频 | 人人叉| 九九导航 | 国产精品成av人在线视午夜片 | 日韩国产精品一区二区三区 | 二区视频| 自拍偷拍第一页 | 91天堂 | 欧美日韩免费在线 | 伊人久久精品 | 国产美女精品视频 | 九九一级片 | 红桃成人在线 | 久久久久久久久久一区二区 | 免费午夜电影 | 精品网站999www | 中文字幕av网址 |