Java

[Java] 가비지 컬렉터 (Garbage Collector)

jny0 2023. 3. 7. 21:19

가비지 컬렉터 (Garbage Collector) 


가비지 컬렉터는 자동 메모리 관리 시스템이다.

C나 C++ 등에서는 메모리 관리를 직접 해야하지만, 자바에는 가비지 컬렉터가 존재해서 자동으로 객체의 메모리 점유를 자동으로 초기화해준다.

 

가비지 컬렉터가 하는 일

  • 메모리 할당
  • 사용 중인 메모리 인식
  • 사용하지 않는 메모리 인식

프로그램에 의해 할당된 메모리가 더이상 인스턴스를 참조하지 않아 가비지(garbage) 상태가 되면 자동으로 메모리를 초기화해준다.

 

가비지 컬렉터의 특징

  • 가비지 컬렉터 동작은 자바에 의해 자동 실행되고 어느 시점에 어디에서 시작할지에 따라 다르다.
  • 가비지 컬렉터가 동작하면, 어플리케이션에 있는 모든 쓰레드들은 잠시 중단된다.

 

가비지 컬렉터의 한계

  • 실행 시간에 작업을 하기 때문에 성능 하락을 피할 수 없다.
  • 가비지 컬렉터는 더 이상 접근 불가능한 객체만 회수하기 떄문에 메모리 누수가 발생할 수 있다.

 

참고할만한 영상 - https://www.youtube.com/watch?v=24f2-eJAeII