728x90
강한 참조 Strong Reference
이것은 우리가 가장 일반적으로 사용하는 참조 유형입니다.
강한 참조가 객체에 연결되어 있으면, 가비지 컬렉터는 그 객체를 회수하지 않습니다.
약한 참조 Weak Reference
WeakReference 클래스를 사용해 객체에 대한 약한 참조를 만들 수 있습니다.
가비지 컬렉터가 실행되면, 약한 참조만이 남아있는 객체는 메모리에서 제거됩니다.
소프트 참조 Soft Reference
SoftReference 클래스를 사용해 만듭니다.
소프트 참조는 메모리가 부족할 때까지 가비지 컬렉션의 대상이 되지 않습니다.
즉, 가비지 컬렉터가 실행되더라도 충분한 메모리가 있는 경우에는 소프트 참조가 가리키니는 객체는 회수되지 않습니다.
팬텀 참조 Phantom Reference
PhantomRefernce 클래스를 사용하여 만들 수 있습니다.
팬텀 참조는 참조된 객체가 가비지 컬렉션에 의해 회수되도록 허용합니다.
이 참조 유형은 주로 객체가 메모리에서 제거되기 전에 수행해야 하는 특별한 종료 작업을 처리하는데 사용됩니다.
이들 참조 유형은 모두 java.lang.ref 패키지에 속해있으며, 각각의 사용 방법은 상황에 따라 다르지만 메모리 관리 및 리소스 정리에 있어서 중요한 도구입니다.
728x90
'Language.' 카테고리의 다른 글
[ Kotlin ] Unit과 Nothing의 차이점 (4) | 2023.10.24 |
---|---|
Kotlin Delegation으로 클래스간 결합도 낮추기 (1) | 2023.10.01 |
자바 Cleaner, PhantomReference 클래스 (0) | 2023.07.27 |
[Kotlin] kapt란? (0) | 2023.04.16 |
Kotlin 스코프 함수 (Scope Function) (0) | 2023.04.12 |