자바&스프링

[자바] java 가비지 컬렉터란? 장단점

내가 그린 코딩 그림 2023. 4. 7. 00:26
반응형

자바 면접 질문에서 자주 등장하는 가비지 컬렉터에 대해서 간략하게 알아보겠습니다.

a) 가비지 컬렉터란?

가비지 컬렉터는 자바에 존재하는 자동 메모리 관리 기능입니다. C언어와 같은 언어는 메모리를 직접 할당/해제 해야하기 때문에 잘 활용하면 매우 좋겠지만 잘 모른다면 메모리 낭비가 될 수 있습니다. 자바에서 가비지 컬렉터는 자동 메모리 할당, 해제를 담당하고 있기 때문에 이를 편리하게 도와줍니다.

 

b) 장단점

장점

- 자동 메모리 관리

- 메모리 누수 방지

 

자동으로 메모리를 관리해주기 때문에 자동 메모리 관리와 이로 인한 메모리 누수 방지에 장점을 가지고 있습니다.

 

단점

- 성능 저하

- 예측 불가능한 지연

 

자동으로 해준다는건 그만큼 편하지만 가비지 컬렉터를 위한 자원이 소비된다는 것이기도 합니다. 또, 자동 관리이기 때문에 실시간 시스템에서 가비지 컬렉터로 인해 자원이 들어가면서 서비스에 영향을 줄 수도 있습니다.

 

 

가비지 컬렉터는 쉽게 생각하면 더러운 내 방을 치워주시는 어머니와 같다고 할 수 있습니다. 어떨 때는 편하지만 내가 원치않을 때(게임을 할 때) 자원이 할당되어 의자에서 일어나야 한다면 중요한 한타를 질 수도 있기 때문에 장, 단점이 명확합니다.

반응형