본문 바로가기
코딩

컴퓨터 공학 기초 4

by Frontend 2022. 8. 1.

가비지 컬렉션 (Garbage Collection)

 

가비지 컬렉션? 

프로그램에서 더 이상 사용하지 않는 메모리를 자동으로 정리하는 것. 

자바, C#, Java Script 등에서 본 기능을 지원한다.

 

대표적인 방법

  • 트레이싱(tracing) :
    • mark and sweep방식.
    • 객체에 사용 여부를 표시(mark)하는 표식(flag)을 한 뒤, 메모리 관리자가 사이클마다 모든 객체를 추적해서 표시되지 않은 객체를 삭제(sweep)하는 단계를 통해 메모리를 해제한다.
  • 레퍼런스 카운팅(reference counting) :
    • 한 객체를 참조하는 변수의 수를 추적하는 방법.
    • 객체를 참조하는 변수가 처음에는 특정 메모리에 대해 레퍼런스가 하나뿐이지만, 변수의 레퍼런스가 복사될 때마다 레퍼런스 카운트가 증가하게 된다. 반면, 변수의 값이 바뀌거나, 변수 스코프를 벗어나면 레퍼런스 카운트는 감소한다. 레퍼런스 카운트가 결국 '0'이 되면, 그 객체와 관련된 메모리는 비울 수가 있다. 

'코딩' 카테고리의 다른 글

[기타] 관심 공고 리스트  (0) 2022.08.04
GraphQL  (0) 2022.08.02
컴퓨터 공학 기초 3  (0) 2022.08.01
컴퓨터 공학 기초 2  (0) 2022.08.01
컴퓨터 공학 기초 1  (0) 2022.08.01