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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面试官 100% 会严刑拷打的 CMS 垃圾回收器,下次面试就拿这篇文章怼回去!

發(fā)布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面试官 100% 会严刑拷打的 CMS 垃圾回收器,下次面试就拿这篇文章怼回去! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

??點擊上方?好好學java?,選擇?星標?公眾號

重磅資訊、干貨,第一時間送達 今日推薦:牛人 20000 字的 Spring Cloud 總結,太硬核了~

這里跟大家講個面試的最常見的垃圾回收器的問題,我跟大伙說,你不用懷疑,CMS垃圾回收器一定是最常見的問題,只要問到了Java虛擬機,面試官恨不得就問你CMS,當然還有就是G1這個垃圾回收器了,所以,關于這個垃圾回收器的細節(jié)問題,一定要掌握好,只要掌握到位,那么一定可以讓面試官滿意。

但是,說句糟心的話,運氣不好,面試官就是不對眼,也是沒有辦法的事情,只能認栽,自我感覺再良好,也只是自我感覺,在面試官心里,你就是渣渣!!!

好了,下面我們開始面試環(huán)節(jié),這篇文章想換一種方式,我們列舉一些面試常見的問題,然后再來回答這些問題。

正文

這個春天,因為疫情的原因,所有的面試都是線上遠程面試的,所以,如果運氣好,你可以看到面試官的臉,如果運氣不好,你可以只能被面試官看到你緊張的樣子,而你,看到的只是黑屏,哈哈!

這就是最真實的場景!

可是,并沒有面試官的身影,只有一次又一次的毒打!!

小伙子,你說一下 CMS 垃圾回收器吧!

這個題目一來,嚇出一身冷汗,差點就沒有復習這個CMS,還好昨晚抱佛腳看了一下哈。

于是我。。。一頓操作猛如虎。

CMS(Concurrent Mark Sweep)收集器是一種以獲取最短回收停頓時間為目標的收集器,它是基于“標記-清除”算法實現(xiàn)的,并且常見的應用場景是互聯(lián)網(wǎng)站或者B/S系統(tǒng)的服務端上的Java應用

結果就一緊張就記得這么多,面試官肯定不滿意了,這個時候,面試官的常規(guī)操作是,繼續(xù)嚴刑拷打,他想,你可能忘記了,我來提醒提醒你!

CMS收集器工作的整個流程是怎么樣的,你能給我講講嗎?

這個時候,面試官還會安慰你說不用緊張,但是,安慰歸安慰,最后掛不掛可是另一回事。

于是,我又開始回答問題。

CMS 處理過程有七個步驟:

  • 初始標記,會導致stw;

  • 并發(fā)標記,與用戶線程同時運行;

  • 預清理,與用戶線程同時運行;

  • 可被終止的預清理,與用戶線程同時運行;

  • 重新標記 ,會導致swt;

  • 并發(fā)清除,與用戶線程同時運行;

其實,只要回答四個就差不多了,是這幾個。

  • 初始標記:僅僅只是標記一下GC Roots能直接關聯(lián)到的對象,速度很快,需要“Stop The World”。

  • 并發(fā)標記:進行GC Roots Tracing的過程,在整個過程中耗時最長。

  • 重新標記:為了修正并發(fā)標記期間因用戶程序繼續(xù)運作而導致標記產(chǎn)生變動的那一部分對象的標記記錄,這個階段的停頓時間一般會比初始標記階段稍長一些,但遠比并發(fā)標記的時間短。此階段也需要“Stop The World”。

  • 并發(fā)清除

你以為這樣子就可以了,面試官就會說可以了,如果可以了,那估計你涼了!

面試官說:CMS這么好,那有沒有什么缺點呢?

我。。。好吧,誰怪我這么強呢,對吧。

其實,CMS雖然經(jīng)過這么些年的考驗,已經(jīng)是一個值得信賴的GC回收器了,但是,其實也是有一些他的不足的,

第一,垃圾碎片的問題,我們都知道CMS是使用的是標記-清除算法的,所以不可避免的就是會出現(xiàn)垃圾碎片的問題。第二,一般CMS的GC耗時80%都在remark階段,remark階段停頓時間會很長,在CMS的這四個主要的階段中,最費時間的就是重新標記階段。第三,concurrent mode failure,說出這個的時候,面試官就會覺得,小伙子,哎呦,不錯喲,掌握的比較清楚,那這個是什么意思呢,其實是說:

這個異常發(fā)生在cms正在回收的時候。執(zhí)行CMS GC的過程中,同時業(yè)務線程也在運行,當年輕帶空間滿了,執(zhí)行ygc時,需要將存活的對象放入到老年代,而此時老年代空間不足,這時CMS還沒有機會回收老年帶產(chǎn)生的,或者在做Minor GC的時候,新生代救助空間放不下,需要放入老年代,而老年代也放不下而產(chǎn)生的。

第四,promotion failed,這個問題是指,在進行Minor GC時,Survivor空間不足,對象只能放入老年代,而此時老年代也放不下造成的,多數(shù)是由于老年代有足夠的空閑空間,但是由于碎片較多,新生代要轉移到老年帶的對象比較大,找不到一段連續(xù)區(qū)域存放這個對象導致的。

面試官看到你掌握的這么好,心里已經(jīng)給你豎起來大拇指,但是,面試官覺得你優(yōu)秀啊,就還想看看你到底還有多少東西。

既然你知道有這么多的缺點,那么你知道怎么解決這些問題嗎?

這個真的被問蒙了,你以為我什么都會嗎!!!!

但是,我還是得給大家講講,不然下次被問到,可能會把鍋甩給我。

  • 垃圾碎片的問題:針對這個問題,這時候我們需要用到這個參數(shù):-XX:CMSFullGCsBeforeCompaction=n 意思是說在上一次CMS并發(fā)GC執(zhí)行過后,到底還要再執(zhí)行多少次full GC才會做壓縮。默認是0,也就是在默認配置下每次CMS GC頂不住了而要轉入full GC的時候都會做壓縮。

  • concurrent mode failure

解決這個問題其實很簡單,只需要設置兩個參數(shù)即可

-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=60:是指設定CMS在對內(nèi)存占用率達到60%的時候開始GC。

為什么設置這兩個參數(shù)呢?由于在垃圾收集階段用戶線程還需要運行,那也就還需要預留有足夠的內(nèi)存空間給用戶線程使用,因此CMS收集器不能像其他收集器那樣等到老年代幾乎完全被填滿了再進行收集。

當然也不能設置過高,比如90%,這時候雖然GC次數(shù)少,但是,卻會導致用于用戶線程空間小,效率不高,太低10%,你自己想想會怎么樣,體會體會!

哈哈,萬事大吉,這一點說出了,估計面試官已經(jīng)愛上我了吧,趕緊把我招進去干活吧。。。

  • remark階段停頓時間會很長的問題:解決這個問題巨簡單,加入-XX:+CMSScavengeBeforeRemark。在執(zhí)行remark操作之前先做一次Young GC,目的在于減少年輕代對老年代的無效引用,降低remark時的開銷。

結尾

面到這里,面試官給你說了一句:小伙子很優(yōu)秀,思考問題很深入,什么時候可以來我們公司實習,我們公司轉正幾率很高啊,歡迎您的加入!

這是本人在這幾年及春招的總結,歷時3個月,我覺得很全面了,對于面試很有幫助,目前,本人已經(jīng)拿到了騰訊等大廠offer,進入到大廠不是夢想,github 地址:

https://github.com/OUYANGSIHAI/JavaInterview

這么辛苦總結,給個star好不好。?點擊閱讀原文,直達

總結

以上是生活随笔為你收集整理的面试官 100% 会严刑拷打的 CMS 垃圾回收器,下次面试就拿这篇文章怼回去!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 午夜av网站| 日韩高清国产一区在线 | 最新日韩一区 | 精品国产乱码 | 国产第一色 | 国色天香av | 国产男人的天堂 | 天堂网视频在线 | 真人一及毛片 | 少妇高潮一区二区三区99欧美 | 久久鲁鲁| 日本国产精品一区 | 国产夫妻露脸 | 亚洲一区偷拍 | 日本二区视频 | 人妻洗澡被强公日日澡电影 | 欧美激情国产精品免费 | 亚洲香蕉中文网 | 高清无码一区二区在线观看吞精 | avwww.| www.色多多 | 男女做激情爱呻吟口述全过程 | 夜夜av| 国产香蕉一区 | 亚洲综合99| 欧美另类videossexo高潮 | 国产一级片一区二区 | 国产区亚洲区 | 久久怡春院 | 人妻一区二区三区四区五区 | 国产综合av | 波多野结衣av片 | 国产一极毛片 | 国产综合精品视频 | 亚洲天堂一区二区 | 亚洲影院中文字幕 | 久久久亚洲欧洲 | japan高清日本乱xxxxx | 久久久99精品国产一区二区三区 | 精品人妻一区二区三区四区 | 国产婷婷在线观看 | 在线观看亚洲a | 国产精品久久久久毛片大屁完整版 | 少妇无码吹潮 | 精品热| 日本泡妞xxxx免费视频软件 | 日韩夜夜操 | 全部孕妇毛片 | 日韩精品手机在线 | 西方裸体在线观看 | 九色porn| 国产三级三级三级三级三级 | 欧美日韩在线播放 | 日韩午夜精品视频 | 无码aⅴ精品一区二区三区浪潮 | 天堂亚洲网 | 国产丰满大乳奶水在线视频 | 亚洲精品国产精品乱码不99 | 香蕉视频成人在线观看 | 欧洲免费av | 欧美69囗交视频 | 久久综合九色综合欧美狠狠 | av网在线播放| 成人不卡av | 日韩视频免费观看高清完整版 | 亚洲精品乱码久久久久久黑人 | 欧美激情视频一区二区三区在线播放 | 久久这里只有精品久久 | 成人欧美一区二区三区白人 | 手机av在线网 | 成人动漫在线免费观看 | 亚洲一区二区三区播放 | 91日日夜夜| 成人免费在线 | 视频一二三区 | 亚洲成人精品一区二区三区 | 日韩视频精品 | 久久午夜夜伦鲁鲁一区二区 | 日本高清免费不卡视频 | 91丝袜在线 | 任你躁av一区二区三区 | av先锋资源| 人妻互换一区二区激情偷拍 | 国产偷人 | 日韩欧美大片在线观看 | 成人视屏在线观看 | 精品国产乱码久久久人妻 | 国产精品成人免费精品自在线观看 | 男人天堂新地址 | 男女做爰猛烈高潮描写 | 草草影院在线观看 | 午夜精品极品粉嫩国产尤物 | 日日干天天 | 最新91视频 | 五月天亚洲综合 | 欧美刺激性大交 | 国产激情av| 亚欧洲精品在线视频 | 手机在线一区二区 |