-
[쉽게 이해하는 개발] 가비지 컬렉션의 기본 개념: Minor GC, Major GC, Young, Old, Eden쉽게 이해기 시리즈/쉽게 이해하는 개발 2023. 12. 13. 00:18
🌐💡 가비지 컬렉션의 기본 개념: Minor GC, Major GC, Young, Old, Eden 💡🌐
가비지 컬렉션의 개념을 좀 더 연결해서 설명해 드릴게요!
원래의 개념 비유적인 설명 Young 영역 신입 직원 오피스 Eden 영역 새로운 업무 공간 Old 영역 베테랑 직원 오피스 Minor GC 신입 오피스 정리 Major GC 전체 회사 대청소 🏢🗂️ 회사 오피스로 이해하는 가비지 컬렉션 🗂️🏢
- Young 영역 (신입 직원 오피스)
- 메모리에서 새로 생성된 객체들은 'Young 영역'에 먼저 할당됩니다, 마치 신입 직원들이 처음 배치되는 오피스 같아요. 이곳은 활동이 많고, 빠르게 변화해요.
- Eden 영역 (새로운 업무 공간)
- Young 영역 내부의 'Eden'은 새 객체들이 가장 먼저 할당되는 곳입니다. 여기서 객체들은 처음 '업무'를 시작해요, 마치 신입 직원들이 새로운 업무를 시작하는 공간이죠.
- Old 영역 (베테랑 직원 오피스)
- 객체들이 Young 영역에서 충분히 오래 살아남으면 'Old 영역'으로 이동합니다. 이곳은 오래된, 경험 많은 베테랑 직원들의 오피스와 비슷해요. 여기서 객체들은 더 오랫동안 머무르며, 안정적인 '업무'를 수행합니다.
- Minor GC (신입 오피스 정리)
- Young 영역에서 주기적으로 일어나는 'Minor GC'는 신입 직원 오피스의 정리청소 같아요. 여기서는 더 이상 필요 없거나 활동이 없는 객체들을 청소합니다.
- Major GC (전체 회사 대청소)
- 'Major GC'는 전체 메모리 영역, 즉 회사 전체에 대한 대청소와 같습니다. 이 때는 Young 영역 뿐만 아니라 Old 영역의 객체들도 검사하고 청소해요. 이 과정은 더 오래 걸리고, 전체적인 검토가 이루어집니다.
🌟 간단한 정리! 🌟
- Young 영역: 신입 직원들의 바쁜 오피스 🏢
- Eden 영역: 새로운 업무 시작 공간 📋
- Old 영역: 경험 많은 베테랑의 오피스 🛋️
- Minor GC: 신입 오피스의 정기적인 정리 🗑️
- Major GC: 회사 전체의 큰 청소 🧹
📘 가비지 컬렉션: 기술적인 이해 📘
- Young 영역: 새 객체들이 초기에 할당되는 메모리 부분입니다. 여기서 객체들은 Minor GC를 통해 주기적으로 정리됩니다.
- Eden 영역: Young 영역 내에서, 객체들이 처음 생성되
는 곳입니다.
- Old 영역: Young 영역에서 충분히 생존한 후 이동하는, 보다 안정적인 메모리 영역입니다.
- Minor GC: Young 영역에서 일어나는 가비지 컬렉션으로, 비교적 빈번하고 짧은 시간이 소요됩니다.
- Major GC: 전체 힙 영역을 대상으로 하는 청소 과정으로, Young 및 Old 영역의 객체들을 검사하고 정리합니다. 이 과정은 더 많은 시간을 요구하고 시스템에 더 큰 영향을 미칩니다.
😊 어려운 지식을 쉽게 알려주는 GPTs사용하기 : https://chat.openai.com/g/g-Sei8mv1A6-ai-gwedominsu
'쉽게 이해기 시리즈 > 쉽게 이해하는 개발' 카테고리의 다른 글
[쉽게 이해하는 개발] 가비지 컬렉션과 메모리 영역의 상호 연관성 (1) 2023.12.13 [쉽게 이해하는 개발] 가비지 컬렉션에서의 STW (Stop The World) (0) 2023.12.13 [쉽게 이해하는 개발] 비용 산정 기법 : 하향식(Top-Down) vs 상향식(Bottom-Up) (0) 2023.12.13 [쉽게 이해하는 개발] 애자일 모형(Agile Model) (0) 2023.12.13 [쉽게 이해하는 개발] 가비지 컬렉션(Garbage Collection) (0) 2023.12.12 - Young 영역 (신입 직원 오피스)