JVM의 메모리 영역은 Runtime Data Areas내에 그 기능에 따라 5가지 영역으로 나뉘어 있는데 그 중에서도 new 키워드를 통해 객체를 생성하고 모든 개체와 해당 인스턴스 변수 및 배열이 저장되는 영역을 Heap 영역이라 한다. 또한 이 Heap 영역은 다시 그 기능에 따라 Eden, Servivor0, Servivor1, Old, Permenant 등으로 그 영역이 세분화 되며 이 Heap 영역에서 참조하는 변수나 필드가 존재하지 않으면 GC의 대상이 된다. 이러한 GC는 Minor GC와 Major GC로 나뉜다. Minor GC : New 영역에서 일어나는 GC 최초에 객체가 생성되면 Eden영역에 생성된다. Eden영역에 객체가 가득차게 되면 첫 번째 GC가 일어난다. survivor..