您好,登錄后才能下訂單哦!
所謂的Stop the World機(jī)制,簡(jiǎn)稱STW,即在執(zhí)行垃圾收集算法時(shí),Java應(yīng)用程序的其他所有除了垃圾收集收集器線程之外的線程都被掛起。
此時(shí),系統(tǒng)只能允許GC線程進(jìn)行運(yùn)行,其他線程則會(huì)全部暫停,等待GC線程執(zhí)行完畢后才能再次運(yùn)行。
這些工作都是由虛擬機(jī)在后臺(tái)自動(dòng)發(fā)起和自動(dòng)完成的,是在用戶不可見的情況下把用戶正常工作的線程全部停下來,這對(duì)于很多的應(yīng)用程序,尤其是那些對(duì)于實(shí)時(shí)性要求很高的程序來說是難以接受的。
除了垃圾回收外,還有一些其他的操作會(huì)觸發(fā)STW。
并發(fā)(CMS)收集器:(-XX:+UseConcMarkSweepGC):用于對(duì)年老代進(jìn)行回收。
串行收集和并行收集在進(jìn)行垃圾回收工作時(shí),需要暫停整個(gè)運(yùn)行環(huán)境,因此,系統(tǒng)在垃圾回收時(shí)會(huì)有明顯的暫停,并且暫停時(shí)間會(huì)因?yàn)槎言酱蠖介L(zhǎng)。
并發(fā)收集器可以保證大部分工作都并發(fā)執(zhí)行,應(yīng)用不暫停,這個(gè)垃圾收集器適用于盡可能減少應(yīng)用的停頓時(shí)間,減少full gc發(fā)生的幾率,利用和應(yīng)用程序線程并發(fā)的垃圾回收線程來標(biāo)記清除年老代,適用于響應(yīng)時(shí)間優(yōu)先的系統(tǒng)(比較常用,適用于較大型的系統(tǒng))。
CMS并非沒有暫停,而是用兩次短暫停來替代串行標(biāo)記整理算法的長(zhǎng)暫停。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。