본문 바로가기

자바기초

가비지 컬렉터

C나 C++과 같은 언어는 수동으로 메모리를 비워줘야 함.

비워줘야 할 공간을 깜빡하고 남겨두는 경우 메모리 누수(memory leak)가 발생하고,

이렇게 새어나가다가 메모리를 꽉 채우면 컴퓨터가 뻗음.

 

그래서 자바와 같은 언어에서 가비지 컬렉터를 도입.

Mark-and-sweep: 쭉 훑으며 필요한 것만 마크한 후 마크되지 않은 것은 갖다 버림.

                       루트에서 닿지 않는 변수를 치우는 것.

Reference Counting: 한 요소가 다른 요소에게 몇 번 참조가 되는지 세어서 그 수가 0이 되면 치움.

 

그러나, 가비지 컬렉터가 완벽한 것은 아니기에 메모리 관리를 가비지 컬렉터에 완전히 맡기는 것은 X.

필요시 사용 언어의 메모리 관리를 할 줄 알아야 함.

'자바기초' 카테고리의 다른 글

생성자  (0) 2020.04.28
쿠키, 세션, 캐시  (0) 2020.04.27
객체지향 프로그래밍  (0) 2020.04.27
지역 변수와 인스턴스 변수  (0) 2020.04.24
클래스와 객체  (0) 2020.04.24