Gabage Collection

2018-07-03 15:20 更新

什么是GC

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

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

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

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

可以.程序員可以手動(dòng)執(zhí)行System.gc(),通知GC運(yùn)行,但是Java語(yǔ)言規(guī)范并不保證GC一定會(huì)執(zhí)行. 這個(gè)選擇題的時(shí)候有考.

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)