cms java垃圾回收_java cms垃圾回收器总结
生活随笔
收集整理的這篇文章主要介紹了
cms java垃圾回收_java cms垃圾回收器总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
cms (concurrent mark sweep) 基于標記-清除 算法實現的。獲取最短停頓時間的收集器
一。主要步驟:
1. 初始化標記 ( inittial mark) :需要stop world
僅標記gc root(系統類加載器,線程棧對象,本地棧對象等) 可以直接關聯到的對象,由于只會標記第一層,所以很快
2.并發標記 (concureny mark): 耗時最長
與應用線程同時執行,不需要 stop world,根據1的結果,標記全部對象
3.重新標記(remark):需要stop world
標記 并發標記過程中由于用戶運行而產生變化的對象,耗時較短
4.并發清除
二。缺點
1. cpu敏感
2. 無法處理浮動垃圾(cms運行階段內存無法滿足用戶線程的需要:1 老年代申請內存過快,2.新生代過來的對象過多,),導致full gc,則使用SerialOld做后備收集器
3.基于 標記-清除算法實現,會產生過多的垃圾碎片,解決方案:fullGC 進行碎片壓縮
總結
以上是生活随笔為你收集整理的cms java垃圾回收_java cms垃圾回收器总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 云 代码_云端如何编写Java
- 下一篇: u盘文件夹图标怎么改 如何修改U盘文件夹