자바의 참조 관련 질문입니다.
글쓴이: vdghsthrtw / 작성시간: 월, 2009/09/14 - 12:28오전
자바의 참조 중 팬텀참조(Phantom Reference)에 관련된 질문입니다.
자바에서 객체에 대해 일반적으로 사용하는 참조는 일반 참조이며, 그외 약한 참조(Weak Reference)와 유연한 참조(Soft Reference), 팬텀 참조(Phantom Reference) 가 존재하는데, 약한 참조와 유연한 참조에 대해선 어느정도 알고있고 필요한 부분에 적용하여 사용하고있지만 팬텀 참조에 대해선 개념이 잡히지 않네요. 팬텀 참조는 언제 어디에 어떻게 사용해야 할지 감이 안잡히네요.
API나 검색등을 통해 알고 있는 내용은, 다른 참조와 달리 참조 큐(ReferenceQueue)와 함께 초기화되어야 하고 팬텀 참조 객체는 get() 메소드를 통해 null만을 얻을 수 있다는 것.
몇 번 테스트 결과로 알게된것은 팬텀 참조는 약한 참조와 비슷한 수명을 가진다는 것, 약한 참조와 유연한 참조의 경우 GC 직후에 참조큐에 담겨지지만 팬텀 참조의 경우 GC 직후 참조큐에 담겨지지 않는다는 것.
네이버나 구글 등에서 검색으로 얻을 수 있는 결과를 제외하고 실제로 언제 사용되고, 어느 부분에서 효과를 얻을 수 있으며 실제사용되는 예를 들어 설명해 주시면 감사하겠습니다.(검색해서 얻을 수 있는 정보 중 팬텀 참조의 경우 사후 작업을 위해서사용된다는 부분이 가장 이해가 안되네요;)
도움 부탁드립니다^^
Forums:


댓글 달기