원시 변수와 레퍼런스
가비지 컬렉션 기능이 있는 힙에서의 삶
Book b = new Book();
Book c = new Book();
Book 객체 두 개는 Heap에서 살게 되었다.
레퍼런스: 2개
객체: 2개
-----------------------------------------------------------------------------------------
Book d = c; 이러면
c와 d는 똑같은 객체를 참조한다.
레퍼런스: 3개
객체: 2개
-----------------------------------------------------------------------------------------
c = b; 이러면
b와 c는 모두 같은 객체를 참조한다.
레퍼런스: 3개
객체: 2개
-----------------------------------------------------------------------------------------
힙에서의 삶과 죽음
Book b = new Book();
Book c = new Book();
Book 객체 두개가 힙에서 살게 되었다.
활성 레퍼런스: 2개
접근할 수 있는 객체: 2개
-----------------------------------------------------------------------------------------
b= c; 이러면
b와 c는 모두 같은 객체를 참조한다. 1번 객체는 버림받았기 때문에 GC의 대상이 된다.
활성 레퍼런스: 2개
접근할 수 있는 객체: 1개
버림받은 객체: 1개
1번 객체는 아무 레퍼런스도 남아있지 않아서 접근도 할 수 없다.
-----------------------------------------------------------------------------------------
c= null; 이러면
2번 객체에는 여전히 활성 레퍼런스(b)가 있으며 활성 레퍼런스가 있는 한 GC대상이 되진 않는다.
활성 레퍼런스: 1개
null 레퍼런스: 1개
접근 할 수 있는 객체: 1개
버림받은 객체: 1개
가비지 컬렉션 기능이 있는 힙에서의 삶
Book b = new Book();
Book c = new Book();
Book 객체 두 개는 Heap에서 살게 되었다.
레퍼런스: 2개
객체: 2개
-----------------------------------------------------------------------------------------
Book d = c; 이러면
c와 d는 똑같은 객체를 참조한다.
레퍼런스: 3개
객체: 2개
-----------------------------------------------------------------------------------------
c = b; 이러면
b와 c는 모두 같은 객체를 참조한다.
레퍼런스: 3개
객체: 2개
-----------------------------------------------------------------------------------------
힙에서의 삶과 죽음
Book b = new Book();
Book c = new Book();
Book 객체 두개가 힙에서 살게 되었다.
활성 레퍼런스: 2개
접근할 수 있는 객체: 2개
-----------------------------------------------------------------------------------------
b= c; 이러면
b와 c는 모두 같은 객체를 참조한다. 1번 객체는 버림받았기 때문에 GC의 대상이 된다.
활성 레퍼런스: 2개
접근할 수 있는 객체: 1개
버림받은 객체: 1개
1번 객체는 아무 레퍼런스도 남아있지 않아서 접근도 할 수 없다.
-----------------------------------------------------------------------------------------
c= null; 이러면
2번 객체에는 여전히 활성 레퍼런스(b)가 있으며 활성 레퍼런스가 있는 한 GC대상이 되진 않는다.
활성 레퍼런스: 1개
null 레퍼런스: 1개
접근 할 수 있는 객체: 1개
버림받은 객체: 1개
'개발 이야기 > 유용한 Coding' 카테고리의 다른 글
자바관련 잡다한 이야기 - 객체의 행동 (0) | 2008.05.01 |
---|---|
자바관련 잡다한 이야기 - 클래스와 객체 핵심정리 (0) | 2008.05.01 |
Collection (0) | 2008.04.29 |
수행시간 측정 StopWatch Class (0) | 2008.04.28 |
StringBuffer와 StringBuilder 클래스를 아시나요? (0) | 2008.04.26 |