flash player的garbage collection(gc)分兩種執行方式,一種是「引用計數法」(reference counting),一種是「標記-清除法」(mark sweeping)。
引用計數法是通過計算指向某個物件的引用的數量來確定是否清除該物件。如果乙個物件的引用數量為0,表示程式無法再訪問到該物件,則清除該物件;如果引用計數不為0,則不清除。這裡的引用就是強引用。簡單說:就是沒有引用的時候,gc就會**強引用物件。然而,弱引用是什麼概念呢,它擁有和強引用一樣的功能,通過它能找到你想要的物件;區別是:gc認為它是不存在的;什麼意思呢,就是乙個物件如果只有弱引用,那麼gc是可以直接把它收了;那我們用弱引用不就是沒用麼,gc隨時把它消滅了,沒啥作用(我剛開始就是糾結這個事情的。。。。不知道你是這樣麼),實際應用中是這樣的,乙個物件開始的時候一定有乙個強引用(new 的時候),我們的弱引用一般是用來快取的物件的,為了快取的物件能被gc收掉,才用的弱引用;就是這樣,乙個物件同時有強引用和弱引用,當第二次使用的時候我們之間從弱引用快取池裡面取值,這樣就做到了我們載入的素材的唯一(記憶體裡面)。
我說明白了麼。。。。艾瑪。。。
強引用,軟引用,弱引用
強引用 強引用設定為空,物件立馬會被 public class normalreference classm 軟引用 軟引用當引用存在的時候,只有當記憶體不足的時候才去 public class t0 softreference catch exception e system.out.printl...
強引用和弱引用
weak 和 strong 會出現在宣告中 預設情況下,乙個指標都會使用 strong 屬性,表明這是乙個強引用。這意味著,只要引用存在,物件就不能被銷毀。這是一種所期望的行為 當所有 強 引用都去除時,物件才能被收集和釋放。不過,有時我們卻希望禁用這種行為 一些集合類不應該增加其元素的引用,因為這...
弱引用和強引用
如果目標檔案對外部目標檔案符號進行強引用,但在鏈結成可執行檔案時不能被正確的決議 好奇怪的名稱,看看p 51 鏈結器就會報錯,這是對於強引用 strong reference 而言的。與之相對應還有一種弱引用 weak reference 在處理弱引用時,如果該符號有定義,則鏈結器將對該符號的引用進...