Garbage First Collector 이하 G1 Collector는 예전에 잠깐 소개한적이 있는데, 오늘 지금 하는 프로젝트에서 메모리 관련 이슈가 있어서 잠깐 살펴보았는데, 대략 적인 원리는 다음과 같다. CMS (Concurrent Mark & Sweep)의 원리는 기존에, New 영역을 Old영역으로 보낸후에, Old 영역의 Object Tree를 Search해서 Dead Object를 Mark하고, Mark 된 Object들을 deallocate하는 방식이었다. 이 작업을 Concurrent Thread가 연속적으로 한다는 것인데, (Full GC 시간에 몰아서 하는 것이 아니라. ) G1 Collector는 메모리 구조 부터가 틀리다. New/Old 영역을 Physical하게 따로 나누지 ..