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

JVM調(diào)優(yōu)總結(jié):基本垃圾回收算法

開發(fā) 后端 算法
本文將從不同的角度去劃分JVM基本垃圾回收算法:按照基本回收策略、按分區(qū)對(duì)待的方式分以及按系統(tǒng)線程去區(qū)分。以下將詳細(xì)的介紹。

可以從不同的的角度去劃分垃圾回收算法:

按照基本回收策略分

引用計(jì)數(shù)(Reference Counting):

比較古老的回收算法。原理是此對(duì)象有一個(gè)引用,即增加一個(gè)計(jì)數(shù),刪除一個(gè)引用則減少一個(gè)計(jì)數(shù)。垃圾回收時(shí),只用收集計(jì)數(shù)為0的對(duì)象。此算法最致命的是無(wú)法處理循環(huán)引用的問(wèn)題。

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

 

此算法執(zhí)行分兩階段。***階段從引用根節(jié)點(diǎn)開始標(biāo)記所有被引用的對(duì)象,第二階段遍歷整個(gè)堆,把未標(biāo)記的對(duì)象清除。此算法需要暫停整個(gè)應(yīng)用,同時(shí),會(huì)產(chǎn)生內(nèi)存碎片。

復(fù)制(Copying):

 

此算法把內(nèi)存空間劃為兩個(gè)相等的區(qū)域,每次只使用其中一個(gè)區(qū)域。垃圾回收時(shí),遍歷當(dāng)前使用區(qū)域,把正在使用中的對(duì)象復(fù)制到另外一個(gè)區(qū)域中。次算法每次只處理正在使用中的對(duì)象,因此復(fù)制成本比較小,同時(shí)復(fù)制過(guò)去以后還能進(jìn)行相應(yīng)的內(nèi)存整理,不會(huì)出現(xiàn)“碎片”問(wèn)題。當(dāng)然,此算法的缺點(diǎn)也是很明顯的,就是需要兩倍內(nèi)存空間。

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

此算法結(jié)合了“標(biāo)記-清除”和“復(fù)制”兩個(gè)算法的優(yōu)點(diǎn)。也是分兩階段,***階段從根節(jié)點(diǎn)開始標(biāo)記所有被引用對(duì)象,第二階段遍歷整個(gè)堆,把清除未標(biāo)記對(duì)象并且把存活對(duì)象“壓縮”到堆的其中一塊,按順序排放。此算法避免了“標(biāo)記-清除”的碎片問(wèn)題,同時(shí)也避免了“復(fù)制”算法的空間問(wèn)題。

按分區(qū)對(duì)待的方式分

增量收集(Incremental Collecting):實(shí)時(shí)垃圾回收算法,即:在應(yīng)用進(jìn)行的同時(shí)進(jìn)行垃圾回收。不知道什么原因JDK5.0中的收集器沒(méi)有使用這種算法的。

分代收集(Generational Collecting):基于對(duì)對(duì)象生命周期分析后得出的垃圾回收算法。把對(duì)象分為年青代、年老代、持久代,對(duì)不同生命周期的對(duì)象使用不同的算法(上述方式中的一個(gè))進(jìn)行回收。現(xiàn)在的垃圾回收器(從J2SE1.2開始)都是使用此算法的。

按系統(tǒng)線程分

串行收集:串行收集使用單線程處理所有垃圾回收工作,因?yàn)闊o(wú)需多線程交互,實(shí)現(xiàn)容易,而且效率比較高。但是,其局限性也比較明顯,即無(wú)法使用多處理器的優(yōu)勢(shì),所以此收集適合單處理器機(jī)器。當(dāng)然,此收集器也可以用在小數(shù)據(jù)量(100M左右)情況下的多處理器機(jī)器上。

并行收集:并行收集使用多線程處理垃圾回收工作,因而速度快,效率高。而且理論上CPU數(shù)目越多,越能體現(xiàn)出并行收集器的優(yōu)勢(shì)。

并發(fā)收集:相對(duì)于串行收集和并行收集而言,前面兩個(gè)在進(jìn)行垃圾回收工作時(shí),需要暫停整個(gè)運(yùn)行環(huán)境,而只有垃圾回收程序在運(yùn)行,因此,系統(tǒng)在垃圾回收時(shí)會(huì)有明顯的暫停,而且暫停時(shí)間會(huì)因?yàn)槎言酱蠖介L(zhǎng)。

原文鏈接:http://pengjiaheng.iteye.com/blog/520228

【編輯推薦】

  1. JVM調(diào)優(yōu)總結(jié):垃圾回收面臨的問(wèn)題
  2. JVM調(diào)優(yōu)總結(jié):一些概念
  3. 用Java GUI編寫的畫板程序
  4. Java的動(dòng)態(tài)綁定機(jī)制
  5. Java中帶復(fù)選框的樹的實(shí)現(xiàn)和應(yīng)用
責(zé)任編輯:林師授 來(lái)源: 和你在一起的博客
相關(guān)推薦

2012-01-10 11:19:35

JavaJVM

2012-01-09 17:06:16

JavaJVM

2012-01-10 14:25:36

JavaJVM

2021-02-04 10:43:52

開發(fā)技能代碼

2009-12-25 16:15:31

JVM垃圾回收算法

2010-09-26 11:22:22

JVM垃圾回收JVM

2015-07-06 10:14:25

Java垃圾回收實(shí)戰(zhàn)

2017-08-04 10:53:30

回收算法JVM垃圾回收器

2022-01-20 10:34:49

JVM垃圾回收算法

2012-01-10 14:35:08

JavaJVM

2014-12-19 11:07:40

Java

2022-03-21 11:33:11

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

2012-01-10 15:13:56

JavaJVM

2021-11-05 15:23:20

JVM回收算法

2010-09-25 13:05:07

JVM參數(shù)

2022-06-10 07:13:29

JVM垃圾回收

2012-01-10 14:18:40

JavaJVM

2019-12-20 14:21:26

JVM調(diào)優(yōu)垃圾回收

2010-09-26 13:48:51

JVM調(diào)優(yōu)

2023-11-23 09:26:50

Java調(diào)優(yōu)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日本不卡视频在线播放 | 欧美日一区 | 免费黄色在线观看 | 精品国产乱码久久久久久闺蜜 | 亚洲喷水| 日韩第一夜| 99久久精品国产一区二区三区 | 中文字幕日韩一区二区 | 欧美精品一二三 | 国产9999精品 | 亚洲成人免费 | 久久精品久久综合 | 免费看的av | 日韩一及片| 欧美日韩精品一区二区三区四区 | 国产成人99久久亚洲综合精品 | 蜜桃免费一区二区三区 | www日| 91精品国产91久久综合桃花 | 国产久 | 亚洲精品乱码久久久久久按摩观 | 国产日韩精品视频 | 蜜桃在线一区二区三区 | 成人在线一级片 | 国产综合av | av永久| 国产精久久久久久 | 日韩成人精品视频 | 精品欧美一区免费观看α√ | 亚洲精品久久久 | jizz在线看片 | 国产午夜久久久 | 538在线精品| av在线免费网站 | 中文字幕av在线播放 | 久久久久国产一区二区三区 | 成人在线中文 | 欧美日韩在线视频一区 | 久久精品国产免费 | 午夜免费看视频 | 在线观看黄色电影 |