Gabage Collection

2018-07-03 15:20 更新

什么是GC

GC是垃圾收集的意思(Gabage Collection), 內(nèi)存處理是編程人員容易出現(xiàn)問題的地方, 忘記或者錯誤的內(nèi)存回收會導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰, Java提供的GC功能可以自動監(jiān)測對象是否超過作用域從而達(dá)到自動回收內(nèi)存的目的, Java語言沒有提供釋放已分配內(nèi)存的顯示操作方法.

垃圾回收器的基本原理是什么?

當(dāng)程序員創(chuàng)建對象時,GC就開始監(jiān)控這個對象的 地址、大小以及使用情況. 通常,GC采用有向圖的方式記錄和管理堆(heap)中的所有對象。通過這種方式確定哪些對象是"可達(dá)的", 哪些對象是"不可達(dá)的".當(dāng)GC確定一些對象為"不可達(dá)"時(比如設(shè)置為 null),GC就有責(zé)任回收這些內(nèi)存空間.

有什么辦法主動通知虛擬機進(jìn)行垃圾回收?

可以.程序員可以手動執(zhí)行System.gc(),通知GC運行,但是Java語言規(guī)范并不保證GC一定會執(zhí)行. 這個選擇題的時候有考.

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號