* Strong Reference: 사랑
GC: 객체야! 너를 사랑(강한 참조)해주는 사람(들)이 있느냐?
객체: 예! 저를 사랑해주는 사람(들)이 있습니다.
GC: 너는 heap에서 더 놀거라.
객체의 직접 화법: 저를 참조하는 변수 중에는 강한 참조가(들이) 있습니다.
* Soft Reference: 썸
GC: 객체야! 너를 사랑(강한 참조)해주는 사람은 없고, 그럼 너를 좋아해주는(썸 - 소프트 참조) 사람(들)은 있느냐?
객체: 예! 저를 좋아해주는 사람(들)이 있습니다.
GC: 내가 청소하고도 공간이 부족하다면 너도 쓰레기통에 넣어버리겠다. 하지만 청소 후에 충분한 공간이 나온다면 너는 heap에서 더 놀거라.
객체의 직접 화법: 저를 참조하는 변수 중에는 강한 참조는 없고 소프트 참조는 있습니다.
* Weak Reference: 친구
GC: 객체야! 너를 사랑해주는 사람도 없고, 너를 좋아해주는 사람도 없다는 거냐?
객쳬: 예! 없습니다. 하지만 저는 친구(약한 참조)가(들이) 있습니다.
GC: 친구 필요없다. 내가 청소할 때 넌 그냥 쓰레기통에 들어가거라.
객체의 직접 화법: 저를 참조하는 변수 중에는 강한 참조도 없고, 소프트 참조도 없고, 약한 참조가(들이) 있습니다.
* Phantom Reference : 웬수
GC: 좀 있다 heap 청소나 해야 겠다.
객체: 사랑해 주는 사람도, 좋아해 주는 사람도, 친구도 없고 웬수(들)뿐이니.. GC 온다는 핑계로 그 전에 내가 쓰레기통으로 자진해서 들어 가리라.
객체의 직접 화법: 나를 참조하는 변수 중에는 강한 참조도, 소프트 참조도, 약한 참조도 없고 유령 참조뿐이니 GC 오기 전에 그냥 자진 납세해야 헸다.
같이 보면 좋은 김용환님 블러그 아티클
http://knight76.tistory.com/entry/SofreReference-WeakReference-PhantomReference
Nvare O2 - Java Reference와 GC
http://d2.naver.com/helloworld/329631
'프로그래밍 TIP > JAVA' 카테고리의 다른 글
Eclipse 에서 import static 편리하게 사용하기 (0) | 2016.01.22 |
---|---|
단위테스트 매처 라이브러리: Hamcrest vs. AssertJ (0) | 2016.01.22 |
Eclipse 이것 저것 (0) | 2015.10.26 |
JAVA Profiler – JVM Monitor 사용하기 (2) | 2015.06.11 |
[egovFramework] Web Project 생성시 오류 해결 (0) | 2012.10.26 |