가비지 콜렉션!

자바를 아신다면 한 번쯤은 들어봤을 용어인데요. 가비지 콜렉션에 대해 알아보겠습니다.


 

 가비지 콜렉션

 기억영역은 일정한 단위로 할당/해방의 제어가 이루어진다. 이 제어에 의한 할당과 해방을 반복하면 확보 하는 크기가 랜덤(random)인 것으로부터 점차로 무효영역(無效領域 : 가비지)이 증대하여 정보수용효율이 저하하여 간다. 특히, 자기디스크, 자기드럼 등, 시스템 공통의 직접 액세스장치상의 파일 영역에 있어서의 상기 문제를 해결하기 위한 가비지 해방이나 파일 재배치를 하기 위한 처리기능을 가비지 콜렉션이라 하며, 해당기능을 가지는 프로그램을 가비지 콜렉터(garbage collector)라고 한다.
- 네이버 지식사전 - 



 다시 말해서 더 이상 사용하지 않는 메모리 영역을 정리하는 것을 가비지 콜렉션이라고 합니다. 자바에서 이 역할을 자동으로 해주는 것이 JVM (Java Virtual Machine) 입니다.

 조금 기억하기 쉽게 설명해 보자면..
 고급 호텔에 가면 주차 서비스를 해주는 주차 요원이 있습니다. 이 주차 요원은 손님이 오면 차 키를 받고, 주차해서 시동을 끄죠. 이 주차 요원 같은 역할이 JVM 이락 할 수 있고, 주차가 메모리 영역 정리 라고 보시면 됩니다.

억지로 짜 맞춘 예 같긴 하나 그냥 연관 있다 라고 생각해서 이해하시면 나중에 기억하실 때 수월하실 것이라고 생각됩니다.

이 가비지 콜렉션의 정의는 중요하다고 생각합니다. 입사 면접 문제로도 나왔다고 합니다.

 " 가비지 콜렉션이 무엇인가? " 



 
posted by 쪼재