java的垃圾回收分爲java
三個區域新生代 老年代 永久代性能
一個對象實例化時 先去看伊甸園有沒有足夠的空間
若是有 不進行垃圾回收 ,對象直接在伊甸園存儲.
若是伊甸園內存已滿,會進行一次minor gc
而後再進行判斷伊甸園中的內存是否足夠
若是不足 則去看存活區的內存是否足夠.
若是內存足夠,把伊甸園部分活躍對象保存在存活區,而後把對象保存在伊甸園.
若是內存不足,向老年代發送請求,查詢老年代的內存是否足夠
若是老年代內存足夠,將部分存活區的活躍對象存入老年代.而後把伊甸園的活躍對象放入存活區,對象依舊保存在伊甸園.
若是老年代內存不足,會進行一次full gc,以後老年代會再進行判斷 內存是否足夠,若是足夠 同上.
若是不足 會拋出OutOfMemoryError..net
GC雖然能夠進行內存空間的釋放,但同時頻繁的GC必定會影響性能,GC發生的頻率越低,你的系統就越高效.對象
支持原創::https://blog.csdn.net/jidong2622/article/details/78147364
版權聲明:本文爲博主原創文章,轉載請附上博文連接!blog