글을 쓰기 앞서 이 영상을 참조했습니다.

 

 

Garbage Collector 가 뭔가요?

코드를 작성할 때 선언 후 사용되지 않는 변수가 메모리를 차지하고 있는 일종의 Bug 로 Memory Leak 이라고 합니다.

이런 변수들을 사용자가 직접 지워줘야 했던 작업들을 대신해주는 기능을 Garbage Collector (GC) 라고 합니다.

 

Garbage Collector 가 왜 필요한가요? 

이전에 말했듯이 불필요하게 메모리를 낭비하고 있는 상태로

메모리는 속도나 프로세스 사용시간 등의 성능과 직결되기 때문에 중요합니다.

따라서, 메모리 자원을 효율적으로 사용개발자의 작업 효율성 및 생산성에 있어 Garbage Collector 가 필요합니다.

 

Garbage Collector 는 어떻게 동작하나요?

Referece Count ( 참조 횟수 ) 를 통해 더 이상 참조되지 않는 변수들을 처리합니다.

 

또, 다음과 같은 경우에도 GC가 알아서 처리합니다.

 이것이 가능한 이유는 모든 변수들의 생성과 참조에 있어 GC가 관리하기 때문입니다.

그래서, GC가 쓰레기변수들을 처리할 때 속도가 급격히 느려지는 경우가 있는데,

이는 멀티스레드방식을 활용하면서 코드 실행 중 간간히 작업이 수행되어 크게 느끼지 못할정도라고 합니다. 

 

 

추후 보충 자료
https://beststar-1.tistory.com/15
https://mangkyu.tistory.com/118

+ Recent posts