stw
GC(Garbage Collection) - summary
GC(Garbage Collection) GC란, 이미 할당된 메모리에서 더 이상 사용하지 않는 메모리를 해제하는 행동. 사용되지 않는 메모리의 대상은 Heap과 Method Area에서 사용되지 않는 Object를 의미. 소스상에서 close()는 Object 사용중지 의사표현일 뿐 Object를 메모리에서 삭제하겠다는 의미가 아님. System.GC()를 명시적으로 호출할 수 있지만, Full GC를 수행시키는 메소드이기 때문에 Stop-the-world 시간이 길고 무거운 작업이며 또한 반드시 즉시 수행한다는 보장도 없는 메소드이기에 사용을 지양. GC 작동원리 Heap을 3개의 영역으로 나누어 관리. young 영역(Young Generation): 새롭게 생성한 객체의 대부분이 위치해있음. 가득..
GC(Garbage Collection) - stop-the-world
stop-the-world stop-the-world란, GC(Garbage Collection)을 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것이다. stop-the-world가 발생하면 GC를 실행하는 쓰레드를 제외한 나머지 쓰레드는 모두 작업을 멈춘다. GC 작업을 완료한 이후에야 중단했던 작업을 다시 시작한다. 어떤 GC 알고리즘을 사용하더라도 stop-the-world는 발생한다. 대개의 경우 GC 튜닝이란 이 stop-the-world 시간을 줄이는 것이다.