Garbage Collector의 역할, 원리, 알고리즘에 대해 아는 만큼 설명해주실 수 있을까요?

코코·2023년 10월 16일
0

기술면접 준비

목록 보기
9/42

Garbage Collector(가비지 컬렉터)는 메모리 관리를 위해 자바 가상 머신(JVM)에서 실행되는 프로세스입니다. 가비지 컬렉터는 다음과 같은 주요 역할을 수행합니다.

  1. 역할
  • 가비지 컬렉터는 사용되지 않는 객체를 식별하고 메모리에서 제거하여 자원을 확보합니다.
  • 프로그래머가 명시적으로 메모리를 관리할 필요 없이 자동으로 메모리 관리를 수행합니다.
  1. 원리
  • 가비지 컬렉터는 주기적으로 실행되며, 실행 중에 사용되지 않는 객체를 식별하여 메모리에서 제거합니다.
  • 이를 위해 가비지 컬렉터는 객체의 참조 유무를 추적하고, 참조되지 않는 객체를 가비지로 간주합니다.
  • 가비지 컬렉터는 더 이상 참조되지 않는 객체들을 정리하여 더 이상 필요 없는 메모리를 해제합니다.
  1. 알고리즘
  • 가비지 컬렉터는 여러 알고리즘을 사용하여 불필요한 객체를 식별하고 제거합니다.
  • 대표적인 알고리즘으로는 '참조 카운팅(reference counting)'과 '가능성 기반(generational)' 알고리즘이 있습니다.
  • 참조 카운팅 알고리즘은 객체를 참조하는 횟수를 계산하여 참조 횟수가 0인 객체를 제거합니다.
  • 가능성 기반 알고리즘은 객체의 생존 가능성을 고려하여 적절한 시기에 객체를 제거합니다. 이 알고리즘은 대부분의 현대적인 가비지 컬렉터에서 사용됩니다.
profile
Just Do It

0개의 댓글