Java基礎(八)★垃圾分代回收機制

垃圾分代回收機制

針對堆內存而言的。當調用構造方法的時候,創建好一個對象,因爲Java中對每種數據類型都明確的給定了大小,在創建對象的時候,會自動計算大小分配內存,所以在內存的回收和釋放的時候也是由Java自己管理。

對象在堆內存中存儲,對象在使用完成之後會在不定的某個時刻被垃圾回收器(GC --- Garbage Collector)解析掉。--回收過程無法手動控制

堆內存分爲了老生代和新生代。新生代劃分爲伊甸園區和倖存區。

一個對象剛創建的時候是放到新聲代的伊甸園區,如果這個對象在棧內存中沒有引用,那麼會在掃描的時候被解析,釋放內存;如果經過一次掃描依然存活沒有釋放內存,會將其移入新生代的倖存區,倖存區的掃描頻率略低於伊甸園區;如果在倖存區經過多次掃描依然沒有被釋放,會被放入老生代,老生代的掃描頻率遠遠低於新生代的。老生代中的對象一旦被回收,可能會造成程序的卡頓或者崩潰。

發生在新生代的回收稱之爲minor GCGarbage Collect---初代回收

發生在老生代的回收稱之爲full GC---完全回收

類加載器

啓動類加載器/引導類加載器

擴展類加載器

系統類加載器

***雙親委派機制


發佈了1 篇原創文章 · 獲贊 12 · 訪問量 6815
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章