JAVA的一個重大特點就是引進了垃圾回收機制,從而使C++程序員最頭疼的內存管理問題迎刃而解,它使得Java程序員在編寫程序的時候不用考慮內存管理。由於有了垃圾回收機制,Java中的對象不再有“作用域”的概念,只有對象的引用才有“作用域”.
垃圾回收機制可以有效的防止內存泄漏,有效的使用可以使用的內存。
GC(Gabage Collection)工作原理:當創建對象時,GC就開始監視這個對象的地址、大小以及使用情況。通常,GC采用有向圖的方式記錄和管理heap(堆)中的素有對象。通過這種方式確定哪些對象是“可達的”,哪些是“不可以達的”。
垃圾回收機制通常是作為一個單獨的低級別的線程運行,不可預知的情況下對內存堆中已經死亡的或者長時間沒有使用的對象進行清理,我們雖然可以調用System.gc()讓垃圾回收器運行,但依舊無法保證GC一定會執行。