JVM的垃圾回收機制

GC分代回收機制簡單描述:

這裏寫圖片描述

簡單來說JVM內存分爲了新生代(Young Generation)和老生代(Old Generation)。

新生代分爲了伊甸園區(Eden)和兩個倖存區(Survivor)。

當對象剛被創建的時候是被放到伊甸園區,當Eden區被對象填滿時,就會執行Minor GC,經過一次回收之後,如果伊甸園區中的對象的引用不存在了,這個對象就會被解析回收;如果經過一次回收依然存在,則將該對象挪到倖存區。倖存區的掃描頻率略低於伊甸園區。如果經過非常多次掃描,對象在倖存區中依然存在,那麼這個時候,這個對象會被挪到老生代中。老生代的Minor GC頻率遠遠低於新生代。老生代的對象一旦發生回收,可能會導致程序的卡頓甚至崩潰。
發生在新生代的回收---Minor GC
發生在老生代的回收--major gc
永久代存放JVM運行時使用的類。永久代同樣包含了Java SE庫的類和方法。永久代的對象在full GC時進行垃圾收集。

轉載文章: http://www.importnew.com/14086.html

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