1. 程式人生 > >並發標記掃描(CMS)收集器(待完成)

並發標記掃描(CMS)收集器(待完成)

一段時間 rap tex 資源 div 標記 pac eight 所有

並發標記掃描(CMS)收集器專為需要較短垃圾收集暫停時間且能夠在應用程序運行時與垃圾收集器共享處理器資源的應用程序而設計。 對於任何暫停時間要求較低的應用程序,應考慮使用此收集器。 使用命令行選項啟用CMS收集器-XX:+UseConcMarkSweepGC 與其他可用的收集器類似,CMS收集器是分代的;;因此,小型和主要收集都會發生 CMS收集器嘗試通過使用單獨的垃圾收集器線程在執行應用程序線程的同時,跟蹤可訪問的對象來減少由於主要收集而導致的暫停時間。 在每個主要的收集周期中,CMS收集器會在收集開始時暫停所有應用程序線程一段時間,然後再一次暫停到收集的中間。 並發模式失敗 CMS收集器使用一個或多個與應用程序線程同時運行的垃圾收集器線程,目標是在完成之前完成終生代的收集。
在正常操作中,CMS收集器在應用程序線程仍在運行時執行大部分跟蹤和掃描工作,因此應用程序線程只能看到短暫的暫停。 暫停 CMS收集器在並發收集周期中暫停兩次應用程序。第一個暫停是將根目錄中可直接訪問的對象(例如,來自應用程序線程堆棧和寄存器的對象引用,靜態對象等)以及堆中的其他位置(例如,年輕代)標記為暫停。第一次暫停被稱為初始標記暫停。第二次暫停在並發跟蹤階段結束時發現,並且在CMS收集器完成對該對象的跟蹤之後,由於對象中引用的應用程序線程的更新而發現並發跟蹤遺漏的對象。第二次暫停被稱為備註暫停

並發標記掃描(CMS)收集器(待完成)