1.標(biāo)記清除算法
? ? ? ?分為標(biāo)記和清除兩個(gè)階段:首先標(biāo)記出所有需要回收的對(duì)象,在標(biāo)記完成后統(tǒng)一回收所有被標(biāo)記的對(duì)象。
? ? ? ?缺點(diǎn):效率不高并且會(huì)產(chǎn)生不連續(xù)的內(nèi)存碎片。

2.復(fù)制算法
? ? ? ?把內(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)題。
? ? ? ? 優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單,運(yùn)行高效。
? ? ? ? 缺點(diǎn):會(huì)浪費(fèi)一定的內(nèi)存。一般新生代采用這種算法。

3.標(biāo)記整理算法
? ? ? ?標(biāo)記階段與標(biāo)記清除算法一樣。但后續(xù)并不是直接對(duì)可回收的對(duì)象進(jìn)行清理,而是讓所有存活對(duì)象都向一端移動(dòng),然后清理。
? ? ? ?優(yōu)點(diǎn):是不會(huì)造成內(nèi)存碎片。
