CMS の場合(※), メモリ確保以外の処理パスで発生する GC 処理 (java.lang.System.gc() 等)では, GenCollectedHeap::collect_mostly_concurrent() で処理が行われる.
この中では, VM_GenCollectFull クラスによって最終的に GenCollectedHeap::do_collection() が呼び出され, Minor GC または Major GC が実行される.
(※) より正確な条件は GenCollectedHeap::should_do_concurrent_full_gc() 参照 (See: here for details).
(See: here for details) -> GenCollectedHeap::collect_mostly_concurrent() -> VMThread::execute() -> (略) (See: here for details) -> VM_GenCollectFullConcurrent::doit() ->
See: here for details
(#Under Construction)
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.