반응형
가비지 컬렉션은 참조하는 요소가 없으면 인스탄스에 부여된 메모리를 자동으로 해방하는 기능이다.
메모리 영역을 잘 이해하면 간단하지만, 일반인에게는 정말 이해하기 어려운 부분 중 하나이다.
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 |