千鋒教育-做有(you)情懷、有(you)良(liang)心(xin)、有(you)品質的職業教育機構
引用計(ji)數法:對象每被引用一次就+1,為0時回收(shou),速度很快但(dan)是無法識別循環引用
標記清除法(fa):遍歷所有(you)對(dui)象(xiang),標記沒(mei)被引用(yong)的,然(ran)后(hou)統(tong)一清除。
缺點是效率(lv)低、清理后內(nei)存(cun)不(bu)連(lian)續。
復(fu)制清(qing)(qing)除法:將內(nei)存(cun)(cun)分為兩塊(kuai),其中一塊(kuai)寫滿(man)后(hou),遍歷對象(xiang)標記有用的(de)對象(xiang)復(fu)制到另一塊(kuai),然后(hou)把這(zhe)一塊(kuai)清(qing)(qing)理,這(zhe)樣復(fu)制的(de)內(nei)容很少而且(qie)內(nei)存(cun)(cun)始終連續,缺(que)點(dian)是始終需要有一塊(kuai)內(nei)存(cun)(cun)空出來用于復(fu)制。
標(biao)記整理法:遍(bian)歷出(chu)有用的(de)對(dui)象,將這(zhe)些對(dui)象全(quan)都向一端移動(dong),然(ran)后清理其(qi)它空間,一樣(yang)能騰出(chu)連(lian)續的(de)內存,但是(shi)移動(dong)對(dui)象的(de)成本比復(fu)制大(da)得多。
GC采用(yong)分代收集(ji)法:年輕(qing)代采用(yong)復制清除(chu)法,每當(dang)eden滿時,就遍(bian)歷出eden和幸(xing)(xing)存者1區的有用(yong)對象復制到(dao)幸(xing)(xing)存者2區,然后(hou)清空重新寫起。
因此無論(lun)何(he)時一定有一個(ge)幸存(cun)者(zhe)區(qu)是空的。
老(lao)年(nian)代由(you)于有用的對象(xiang)很多(duo)所(suo)以復制(zhi)成本高,采(cai)用標記(ji)整理(li)法減(jian)少復制(zhi)。
相關推薦