반응형
Reference Object에서 알아보기 위해서 가비지에 대해서 빠르게 짚고 넘어가겠습니다.
가비지 컬렉터
힙 내의 객체중에 가비지를 찾아내 메모리 힙의 메모리 회수를 수행한다.
JDK 1.2 부터는 java.lang.ref 패키지를 추가해 사용자 코드와 GC가 상호작용할 수 있게 하고 있다.
가비지 컬렉터 작동원리를 깊게 알고 싶다면 아래 사이트를 보는게 도움이 될 것 같습니다.
java.lang.ref 패키지 안 객체 참조 방식
- Strong Reference
일반적으로 new를 이용해 생성된 객체로 GC에 무조건 제외된다. - Soft Reference
GC가 메모리가 부족하다고 판단할 때 수거하는 객체, 자주 사용할 수록 수거될 확률이 적어짐 - Weak Reference
GC가 실행되면 무조건 수거하는 객체 - Phantom Reference
finalize() 메소드 대용으로 사용하는 것, object가 부활될 수 있기 때문에 좀 더 안전하다. 사용시 ReferenceQueue 사용은 필수
사용방법
//StrongReference 타입
SampleObject strong = new SampleObject();
//WeakReference 타입
WeekReference<SampleObject> weak = new WeakReference<>(new SampleObject);
참고 사이트
반응형
'JAVA' 카테고리의 다른 글
[리팩토링] 분류코드를 클래스로 치환 (0) | 2021.03.21 |
---|---|
Java의 Future이란 (0) | 2021.01.03 |
일급컬렉션 (0) | 2020.07.06 |
Java의 배열 (0) | 2020.05.18 |
Enum에 대해서 (0) | 2020.05.17 |