가비지 컬렉션
-
[JAVA/Garbage Collection] 가비지 컬렉션에 관하여Mhwan's Study/JAVA & Kotlin 2021. 1. 21. 00:38
자바는 다른 언어와 달리 개발자가 직접 객체를 메모리에서 해제하지 않아도 됩니다. 바로 Garbage Collector가 있기 때문인데, GC는 힙 메모리 영역에 존재하는 객체를 메모리에서 삭제하는 역할을 합니다. # GC의 대상 1. 객체가 Null인 경우 2. 블럭 실행 종료 후, 블럭 안에서 생성된 객체 3. Null인 부모객체를 포함하는 자식 객체 현재 사용하지 않는 객체를 힙에서 지우는 것으로 가비지 컬렉션의 과정을 Mark And Sweep이라고 합니다. - Mark : JVM의 가비지 컬렉터가 스택에서 참조하고 있는 힙에 있는 영역을 모두 마킹합니다. 이 마킹 작업을 위해 현재 작업중인 모든 스레드를 중단(stop the world)하며, 이 때문에 System.gc()를 함부로 호출하면 안..