티스토리 뷰
1. StrongReference
- 일반적으로 new를 통해서 객체를 생성하게 되면 생기게 되는 참조
- 강한 참조를 통해 참조되고 있는 객체는 GC(Garbage Collection)의 대상에서 제외
- GC(Garbage Collection)가 발생해도 객체가 해제되지 않기 때문에 OOM(Out of memory)이 발생할 수 있음
2. SoftReference
- 강한 참조와는 다르게 GC(Garbage Collection)에 의해 수거될 수도 있고, 수거되지 않을 수도 있음
- 메모리에 충분한 여유가 있으면 GC(Garbage Collection)가 수행돼도 수거되지 않음
- GC(Garbage Collection)가 발생하면 수거되므로 OOM(Out of memory)의 위험성을 줄일 수 있음
- OOM(Out of memory) 시점에 가깝다면 수거될 확률이 높음
3. WeakReference
- 약한 참조는 GC(Garbage Collection)가 발생하면 무조건 수거됨
- WeakReference가 사라지는 시점이 GC(Garbage Collection)의 실행 주기와 일치
- 이를 이용하여 짧은 주기에 자주 사용되는 객체를 캐시 할 때 유용
4. PhantomReference
- GC(Garbage Collection)가 객체들을 제거하기 전에 JVM이 "reference queue"라고 불리는 queue에 넣음
- finalize() 함수가 호출된 이후에 객체들이 queue에 넣어짐
참고.
www.geeksforgeeks.org/types-references-java/
ktko.tistory.com/entry/자바-강한참조Strong-Reference와-약한참조Weak-Reference
'IT 지식' 카테고리의 다른 글
SOLID 원칙 (0) | 2020.10.27 |
---|---|
참조(Reference)와 GC(Garbage Collection)의 관계 (0) | 2020.10.23 |
GC(Garbage Collection)에 대한 고찰 (0) | 2020.10.22 |
Java에서의 직렬화와 역직렬화 (0) | 2020.10.15 |
- Total
- Today
- Yesterday
- ViewModel
- View
- ArrayList
- Vue.js #Vue.js + javascript
- Architecture Pattern
- 코틀린
- JSONObject
- 혀가 길지 않은 개발자
- handler
- activity
- Kotlin
- DataBinding
- fragment
- XML
- TabLayout
- coroutine
- Design Pattern
- CoordinatorLayout
- recyclerview
- JSONArray
- 안드로이드
- Android
- Livedata
- java
- ViewPager2
- Intent
- 자바
- James Kim
- 안드로이드 #코틀린 #Android #Kotlin
- MVVM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |