가비지 컬렉션(Garbage Collection)이란?
가비지 컬렉션(Garbage Collection, GC) C/C++과 달리 자바는 개발자가 명시적으로 객체를 해체할 필요가 없다. 이는 자바의 장점 중 하나이다. 사용하지 않는 객체를 메모리에서 삭제하는 작업을 GC라고 부른다. 가비지 컬렉션은 동적으로 할당된 메모리 영역 중 사용하지 않는 영역(쓰레기)를 찾아 지우는 역할을 한다. GC에 대해 자세히 알기 전에 'stop-the-world'를 먼저 살펴보자. stop-the-world? GC를 실행하기 위해 JVM은 애플리케이션 실행을 멈추게 하는데 이를 'stop-the-world(STW)'라고 한다. 모든 GC는 STW를 발생시키는데 STW가 발생하면 GC를 실행하는 Thread를 제외하고 모든 Thread는 작업을 멈춘다. GC 작업이 완료되어야 ..