有沒有免費的網(wǎng)站推銷產(chǎn)品如何做網(wǎng)絡推廣
垃圾回收清除算法
引用計數(shù)法
標記清除
拷貝算法
標記壓縮
引用計數(shù)法
有一個引用指向?qū)ο?,那么引用計?shù)就加1,少一個引用指向,那么引用計數(shù)就減1,這種方法了解一下就好,JVM機會不會使用這種方法,因為它在每次對象賦值的時候都要維護引用計數(shù)器,且計數(shù)器本身也有一定的消耗,同時很難梳理循環(huán)引用。
標記清除
找到垃圾之后就給他標記,被標記的就可以清除了。
但是會產(chǎn)生一些問題,位置不連續(xù),就會產(chǎn)生碎片。
還有一個問題就是耗時問題,先標記再清除,那么就是掃描了兩次會耗時。
當對象的存活率比較高的時候,這個方法的效率還是比較高的。
拷貝(Copying)
拷貝算法如上圖所示,首先將可用空間分為兩部分,一部分用于存儲,一部分留空。當存滿一部分之后,此時就將存活的對象順序復制到空的那部分。這樣就解決了碎片的問題,但是浪費了空間,只是用了一半的空間。但是移動對象的時候,需要調(diào)整對象的引用。
該方法只掃描一次,適合于存活對象比較少的情況。