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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

内存分配和回收策略

發(fā)布時間:2024/10/12 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内存分配和回收策略 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  對象的內(nèi)存分配,大方向上來說就是在堆上分配(但也可能經(jīng)過JIT編譯后被拆散為標(biāo)量類型并間接地棧上分配),主要對象分配在新生代的Eden區(qū),如果啟動了本地分配緩沖,將按照線程優(yōu)先在TLAB(Thread Local Allocation Buffer)上分配。少數(shù)情況下也可能直接分配到老年代中,這些規(guī)則取決于采用的垃收集集器組合,還有虛擬機中與內(nèi)存相關(guān)參數(shù)的設(shè)置。

1.對象優(yōu)先在Eden分配

    大多數(shù)情況下,對現(xiàn)在新生代Eden區(qū)中分配,當(dāng)Eden區(qū)沒有足夠空間時,虛擬機將發(fā)起一次Minor GC。

  注:新生代GC(Minor GC):指發(fā)生在新生代的垃圾收集動作,因為大多Java對象壽命短暫,所以Minor GC非常頻繁,回收速度快。

    老年代GC(Major GC/Full GC):指發(fā)生在老年代的GC,出現(xiàn)了Major GC,經(jīng)常伴隨著至少一次的Minor GC(但并非絕對的,在   Parallel Scavenge收集器的收集策略里就有直接進行Major GC的策略選擇過程),Major GC的速度一般會比Minor GC慢10倍以上。

2.大對象直接進入老年代

    大對象是指:需要大量連續(xù)內(nèi)存空間的Java對象,最典型的大對象就是那種很長的字符串以及數(shù)組。虛擬機提供了一個

  -XX: PretenureSizeThreshold參數(shù),令大于這個設(shè)置值的對象直接進入老年代,這樣避免了大對象在Eden區(qū)以及兩個Survivor之間發(fā)  生大量的內(nèi)存復(fù)制(復(fù)習(xí):新生代采用復(fù)制算法收集內(nèi)存)。

  注:PretenureSizeThreshold參數(shù)只對Serial和PreNew兩款收集器有效,Parallel Scavenge收集器不認識這個參數(shù),

  Parallel Scavenge收集器一般不需要設(shè)置,如果用到必須要使用此參數(shù)的場合,可以考慮ParNew+CMS收集器組合。

3.長期存活的對象進入老年代

    虛擬機給每個對象定義了一個對象年齡(Age)計數(shù)器,如果對象在Eden出生并經(jīng)過第一次Minor GC后仍然存活,并且能被Survivor  容納的話,將被移動到Survivor空間中,并且年齡設(shè)為1.對象在Survivor中每熬過一次Minor GC,年齡就增加一歲,當(dāng)年齡增加到一定程  度(默認15歲),將會被晉升到老年代。年齡閾值可以通過參數(shù)-XX:MaxTenuringThreshold設(shè)置。

4.動態(tài)對象年齡判定

    虛擬機并不是永遠地要求對象的年齡必須達到了MaxTenuringThreshold才能晉升老年代,如果在Survivor空間中相同年齡所有對象大  小總和大于Survivor空間的一半,年齡大于或等于該年齡的對象就可以直接進入老年代,無需等到MaxTenuringThreshold中要求的年齡。

5.空間分配擔(dān)保

    在發(fā)生Minor GC前,虛擬機會先檢查老年代最大可用的連續(xù)空間是否大于新生代所有對象總空間,如果成立,那么Minor GC可以確保是安全的,如果不是,則虛擬機會查看HandlePromotionFailure設(shè)置值是否允許擔(dān)保失敗。如果允許,那么會繼續(xù)檢查老年代最大可用連續(xù)空間是否大于歷次晉升到老年代對象的平均大小,如果大于,將嘗試者進行一次Minor GC,盡管這次Minor GC是有風(fēng)險的。如果小于,或者HandlePromotionFailure設(shè)置為不允許冒險,那這次也要改為進行一次Full GC。

轉(zhuǎn)載于:https://www.cnblogs.com/jing99/p/6091568.html

總結(jié)

以上是生活随笔為你收集整理的内存分配和回收策略的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产在线观看www | 亚洲欧美韩日 | 人人涩| av在线视屏 | 国产午夜精品福利 | 欧美草逼网 | 欧美大色 | 成人性视频免费网站 | 精产国产伦理一二三区 | 精品动漫一区二区三区在线观看 | 欧美精品黄色片 | 东方av在线播放 | 一区二区三区小视频 | 亚洲高清不卡 | 日韩高清二区 | 看国产毛片| 婷婷色在线视频 | 在线中文字幕观看 | 一边摸一边抽搐一进一出视频 | 亚洲资源在线播放 | 色婷婷av一区二区三区四区 | 久久久久久久久久久久97 | 2017日日夜夜 | 在线艹 | 国产黄色录相 | 成人美女免费网站视频 | 中文字幕在线观看一区二区三区 | 色综合一区二区三区 | 又大又硬又爽免费视频 | 黄色a一级视频 | 围产精品久久久久久久 | 熊出没之冬日乐翻天免费高清观看 | 中国黄色一级毛片 | 在线免费黄色网址 | 日韩av一区在线 | 成人在线观看国产 | 特种兵之深入敌后高清全集免费观看 | 尤物网在线| 午夜视频1000 | 日韩特黄毛片 | 国产91一区二区三区 | 日韩在线播放av | 久草视频中文在线 | 老熟妇仑乱一区二区av | 男生坤坤放进女生坤坤里 | 午夜宫 | 成人毛片在线观看 | 亚洲av成人片无码 | 最近日韩中文字幕中文 | 一级黄色短视频 | 精品亚洲国产成人av制服丝袜 | 亚洲欧美另类一区 | 亚洲综合一区在线 | 青青草视频在线观看 | 中文字幕免费播放 | 国产成人精品网 | 国产伦精品一区二区三区视频免费 | 国产色无码精品视频 | 亚洲综合一区在线 | 亚洲区国产区 | 国产精品九九热 | 动漫精品一区一码二码三码四码 | 天天干妹子 | 黄色复仇草 | 看污网站 | 成人做爰66片免费看网站 | 区一区二区三 | 中日韩黄色大片 | 欧美巨鞭大战丰满少妇 | 精品一区二区三区免费毛片 | 国产精品久久久午夜夜伦鲁鲁 | 无码人妻精品中文字幕 | 欧美成人精品三级网站 | 激情网站视频 | 奇米狠狠777 | 精品国产乱码久久久久久88av | xxx性欧美 | 亚洲美女爱爱 | 久草免费在线播放 | 蜜桃一二三区 | 亚洲人高潮女人毛茸茸 | xxxx 国产 | 美女扒开尿口让男人爽 | 青草伊人久久 | 成人影视在线播放 | 欧美激情亚洲 | 色妞ww精品视频7777 | 中文字幕一级 | 人妻与黑人一区二区三区 | 久久免费国产视频 | 久久久久久黄色 | 亚洲色图第一区 | 成人免费看片载 | 国产精品99精品无码视 | 久久综合干 | 精品爱爱| 亚洲色欧美另类 | 男人天堂你懂的 | 午夜资源 |