不可訪問記憶體

"類似的,一個不可訪問對象是指沒有可訪問引用型指向的動態分配對象。 動態記憶體分配的實現是採用了垃圾回收機制,在一個對象不可訪問後

不可訪問記憶體是指一組沒有任何可訪問指針指向的由電腦程式進行動態分配的記憶體塊。類似的,一個不可訪問對象是指沒有可訪問引用型指向的動態分配對象。通俗來說,不可訪問記憶體是程式無法直接訪問的動態記憶體,同時也無法通過指針指向一個可訪問的起始對象來進行訪問。
動態記憶體分配的實現是採用了垃圾回收機制,在一個對象不可訪問後,它會被回收。垃圾收集器能決定是否一個對象還是可訪問的;任何被確定不可訪問的對象將會被釋放。在許多程式語言中(例如:Java,C#,D語言,Dylan)都使用了自動垃圾回收機制。
相反的,在動態記憶體分配機制中,當需要明確釋放的記憶體變得不可訪問時,此記憶體可以不再明確釋放。在使用人工記憶體管理中,系統中的不可訪問記憶體會導致記憶體泄漏。
一些垃圾收集器使用弱引用。如果一個對象能夠通過弱引用或者包含弱引用的連結,那么這個對象可以被稱為弱訪問。垃圾收集器能夠把弱訪問的對象圖視為不可訪問的,並且釋放它。(反過來說,防止對象被當作垃圾收集的引用被稱為強引用;通過只含有強引用的連結來訪問的弱可訪問對象是不可訪問的。)一些垃圾回收的面向對象語言,例如Java和Python,擁有弱引用的特性。Java包java.lang.ref提供了軟引用,弱引用和虛引用,產生了其他對象訪問狀態可軟訪問和可虛訪問。
不可訪問記憶體往往和[[[軟體老化]]]有關。

相關詞條

熱門詞條

聯絡我們