앞절에서 힙을 세대별로 구분지어야 하는 지에 대해서 알아 보았다.이제 각 공간들이 어떻게 상호작용을 하는지 알아볼 것이다. 아래는 JVM에서의 객체 할당과 성숙(aging)과정을 나타낸것이다.

1단계: 먼저 새로운 객체는 eden 영역에 할당된다. 두 survivor 영역은 처음에는 비어있다

2단계: Eden 영역이 채워지면(fills up), Minor GC가 발생한다

3단계: 참조되고 있는 객체는 첫 Survivor 영역(S0)으로 이동하게 된다. (Eden → S0)

참조되지 않은 객체들은 eden 영역이 정리될때 제거된다.

4단계: 다음 마이너 GC에서도 Eden영역에 동일한 작업을 한다. (S0 → S1)

참조되지 않은 객체들은 지워질 것이고, 참조되고 있는 객체는 Survivor 영역으로 이동하게 된다.

5단계: 다음 마이너 GC에서도 동일한 작업을 반복한다. (S1 → S0; Switch)