Java程序員能否手動釋放內存,以及指定釋放內存時間

Java和c++之間有一堵由內存分配和垃圾收集技術所圍成的“高牆”,牆外面的人想進去,牆裏面的人想出來

 java的GC回收是完全自動的,沒有提供相關api手動回收,所有的內存分配和回收權限都在jvm,不在開發人員手裏

沒有絕對的強制垃圾回收的方法,不過可以這樣去做:
1. 對於不再引用的對象,及時把它的引用賦爲null。 obj = null;
2. 如果內存確實很緊張,調用System.gc() 方法來建議垃圾回收器開始回收垃圾。通知GC運行,但是Java語言規範並不保證GC一定會執行。

重點內容
Java程序員在編寫程序的時候不再需要考慮內存管理。由於有個垃圾回收機制,Java中的對象不再有”作用域”的概念,只有對象的引用纔有”作用域”。垃圾回收可以有效的防止內存泄露,有效的使用可以使用的內存。垃圾回收器通常是作爲一個單獨的低級別的線程運行,不可預知的情況下對內存堆中已經死亡的或者長時間沒有使用的對象進行清楚和回收,程序員不能實時的調用垃圾回收器對某個對象或所有對象進行垃圾回收。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章