複製鏈接
請複製以下鏈接發送給好友

GC

(垃圾回收)

鎖定
GC是計算機術語,指Garbage Collection(垃圾回收)。
中文名
垃圾回收
外文名
Garbage Collection
垃圾回收
GC(Garbage Collection):JAVA/.NET中的垃圾回收器。Java是由C++發展來的。它擯棄了C++中一些繁瑣容易出錯的東西。其中有一條就是這個GC。而C#又借鑑了JAVA。
C/C++程序中,程序員在內存中主動開闢一段相應的空間來存值。由於內存是有限的,所以當程序不再需要使用該內存空間時,就需要銷燬對象並釋放其所佔用的內存資源,好重新利用這段空間。在C/C++中,釋放無用內存空間的事情需要由程序員自己來處理。就是説當程序員認為空間沒用了,就手動地釋放其佔用的內存。但是這樣顯然非常繁瑣,如果有所遺漏,就可能造成資源浪費甚至內存泄露。當軟件系統比較複雜,變量多的時候程序員往往就忘記釋放內存或者在不該釋放的時候釋放內存了。
有了GC,程序員就不需要再手動的去控制內存的釋放。當Java虛擬機JVM)或.NETCLR發覺內存資源緊張的時候,就會自動地去清理無用對象(沒有被引用到的對象)所佔用的內存空間(這裏的説法略顯粗略,事實上何時清理內存是個複雜的策略)。如果需要,可以在程序中顯式地使用System.gc() / System.GC.Collect()來強制進行一次立即的內存清理。Java提供的GC功能可以自動監測對象是否超過了作用域,從而達到自動回收內存的目的,Java的GC會自動進行管理,調用方法:System.gc() 或者Runtime.getRuntime().gc();