GC Algorithms
들어가며 프로그램이 실행되면 하나 이상의 객체가 생성된다. 더이상 필요하지 않게 된 객체는 어떻게 처리할까? Java에서는 프로그래머가 명시적으로 메모리를 지정해 할당하거나 해제하지 않기 때문에, Garbage Collector가 더이상 사용되지 않는 객체를 찾아서 메모리로부터 삭제해야 한다. JVM이 GC 실행을 위해 application의 실행을 잠깐 멈추는 것을 'stop-the-world'라고 한다. stop-the-world가 발생하면 GC가 실행되는 스레드를 제외한 나머지 스레드는 모두 작업을 멈춘다. 어떤 GC 알고리즘을 사용하더라도 stop-the-world가 발생하기 때문에 이 시간을 줄이기 위해 GC 튜닝이 수행되기도 한다. 지금부터는 어떤 방법들로 Garbage Collection 될..