본문 바로가기

IT

JAVA 공부 - 가비지 컬렉션

반응형

가비지 컬렉션은 참조하는 요소가 없으면 인스탄스에 부여된 메모리를 자동으로 해방하는 기능이다.

 

메모리 영역을 잘 이해하면 간단하지만, 일반인에게는 정말 이해하기 어려운 부분 중 하나이다.

 

Object a = new Object();

Object b = new Object();

Object c = a;

a = null;

b = null;

 

위의 경우 b 만 가비지 컬렉션의 대상이 된다.

 

구체적으로 해설하면 다음과 같다.

a = null;

를 한 시점에 a 가 가비지 컬렉션의 대상이 될 것 같지만, Object c = a; 를 했기 때문에 c가 아직 참조하고 있게 된다.

때문에 가비지 컬렉션의 대상이 되지 않는다.

b = null;

위는 특별히 참조하는 대상이 전부 사라졌기때문에 b는 가비지 컬렉션의 대상이 된다.

 

반응형

'IT' 카테고리의 다른 글

JAVA 공부 - Object equals  (0) 2023.05.16
JAVA 공부 - byte 자동변환  (0) 2023.05.16
JAVA 공부 - System.arraycopy  (0) 2023.05.16
JAVA 공부 - 부동소수점수 정수  (0) 2023.05.16
JAVA 공부 - StringBuilder append  (0) 2023.05.16