日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jvm空间分配担保机制

發(fā)布時間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jvm空间分配担保机制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


新生代Minor GC后剩余存活對象太多,無法放入Survivor區(qū)中,此時就必須將這些存活對象直接轉(zhuǎn)移到老年代去,如果此時老年代空間也不夠怎么辦?
1、執(zhí)行任何一次Minor GC之前,JVM會先檢查一下老年代可用內(nèi)存空間,是否大于新生代所有對象的總大小,因為在極端情況下,可能新生代Minor GC之后,新生代所有對象都需要存活,那就會造成新生代所有對象全部要進(jìn)入老年代;
2、如果老年代的可用內(nèi)存大于新生代所有對象總大小,此時就可以放心大膽的對新生代發(fā)起一次Minor GC,因為Minor GC之后即使所有對象都存活,Survivor區(qū)放不下了,也可以轉(zhuǎn)移到老年代去;
3、如果執(zhí)行Minor GC之前,檢測發(fā)現(xiàn)老年代的可用空間已經(jīng)小于新生代的全部對象總大小,那么就會進(jìn)行下一個判斷,判斷老年代的可用空間大小,是否大于之前每一次Minor GC后進(jìn)入老年代的對象的平均大小,如果小于,這時要進(jìn)行一次Full GC。如果判斷發(fā)現(xiàn)老年代的內(nèi)存大小,大于之前每一次Minor GC后進(jìn)入老年代的對象的平均大小,那么就是說可以冒險嘗試一下Minor GC,但是此時真的可能有風(fēng)險,那就是Minor GC過后,剩余的存活對象的大小,大于Survivor空間的大小,也大于老年代可用空間的大小,老年代都放不下這些存活對象了,此時就會觸發(fā)一次“Full GC”;
所以老年代空間分配擔(dān)保機制的目的?也是為了避免頻繁進(jìn)行Full GC;
4、如果Full GC之后,老年代還是沒有足夠的空間存放Minor GC過后的剩余存活對象,那么此時就會導(dǎo)致“OOM”內(nèi)存溢出 ;

總結(jié)

以上是生活随笔為你收集整理的jvm空间分配担保机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。