Java VMのGC Java VMには様々な種類のGC(ガーベジコレクション)があり、用語を整理しないと混乱します。 GCの種類を整理する前に、まずJava VMのGCは「世代別GC方式」を採っていることを意識しましょう。 Java 7で正式サポートが始まったG1 GCも、世代別GC方式がベースになっています。 「世代別GC方式」の詳細は、様々なWebサイトで紹介されているので、ここではポイントだけを記述します。 世代別GC方式とは Java VMはJavaヒープを、 「New領域(1個)」「Tenured領域(1個)」と「Permanent領域(1個)」に分割し、 さらに「New領域」を「Eden領域(1個)」と「Survivor領域(2個)」に分割します。 生成されたオブジェクトはまずEden領域に入り、最初の数回の「コピーGC」によって2個のSurvivor領域の間を行き来します。