-
[쉽게 이해하는 개발] 가비지 컬렉션과 메모리 영역의 상호 연관성쉽게 이해기 시리즈/쉽게 이해하는 개발 2023. 12. 13. 00:33
🌟🔄 가비지 컬렉션과 메모리 영역의 상호 연관성 이해하기 🔄🌟
가비지 컬렉션과 메모리 영역(힙, 스택, 메서드 영역) 사이의 관계를 더 명확하게 연결하여 설명드릴게요!
원래의 개념 비유적인 설명 힙 (Heap) 영역 집에 쌓인 물건들 스택 (Stack) 영역 일상 사용하는 물건들 메서드 영역 레시피와 사용 설명서 Reachable 객체 손이 닿는 물건 Unreachable 객체 잊혀진 먼지 쌓인 물건 가비지 컬렉션 대대적인 집 청소 🏠🧹 메모리 영역과 가비지 컬렉션의 상호작용 이해하기 🧹🏠
- 힙 (Heap) 영역 - 집에 쌓인 물건들
- '힙' 영역은 마치 집에 쌓인 다양한 물건들과 같습니다. 여기서 물건들은 프로그램이 사용하는 '객체'들을 의미해요. 힙 영역은 물건들(객체들)이 쌓이는 주요 공간이며, 시간이 지남에 따라 사용하지 않는 물건들도 쌓이게 돼요.
- 스택 (Stack) 영역 - 일상 사용하는 물건들
- '스택' 영역은 일상에서 자주 사용하는 물건들을 나타냅니다. 이는 함수나 메서드를 호출할 때 사용되는 지역 변수와 같은 임시 항목들을 저장하는 곳이에요. 여기에 놓인 물건들은 현재 활발하게 사용되고 있어요.
- 메서드 영역 - 레시피와 사용 설명서
- '메서드' 영역은 레시피나 사용 설명서와 같습니다. 이곳에는 프로그램의 클래스, 메서드 정보, 상수 등이 저장되어 있어요. 마치 물건들을 어떻게 사용할지 알려주는 지침서와 같죠.
- Reachable 객체 - 손이 닿는 물건
- 'Reachable' 객체는 여전히 손이 닿는, 즉 사용되고 있는 물건들을 의미해요. 이 객체들은 스택 영역의 변수나 다른 객체들에 의해 참조되고 있습니다. 즉, 여전히 사용 가치가 있는 물건들이죠.
- Unreachable 객체 - 잊혀진 먼지 쌓인 물건
- 'Unreachable' 객체는 장시간 잊혀져 먼지가 쌓인 물건들과 같아요. 이들은 더 이상 참조되지 않는 객체들로, 아무도 사용하지 않는, 잊혀진 물건들입니다.
- 가비지 컬렉션 - 대대적인 집 청소
- 가비지 컬렉션은 이 모든 물건들 중에서 더 이상 사용되지 않는 것들을 찾아내어 청소하는 과정입니다. 힙 영역에서 더 이상 필요 없는 물건들(객체들)을
🌟 간단한 정리! 🌟
- 힙 영역: 다양한 객체들이 쌓이는 메모리 공간 🏠
- 스택 영역: 현재 활동 중인 메서드와 변수 저장 공간 📚
- 메서드 영역: 클래스와 메서드의 구조 정보 저장 공간 📖
- Reachable 객체: 여전히 사용되고 있는 객체들 ✨
- Unreachable 객체: 사용되지 않고 잊혀진 객체들 🛋️
- 가비지 컬렉션: 필요 없어진 객체를 정리하는 메모리 관리 과정 🧹
📘 가비지 컬렉션과 메모리 영역: 기술적인 이해 📘
- 힙 영역: 객체들이 동적으로 할당되는 메모리 영역입니다. 가비지 컬렉션의 주 대상이 되는 곳이죠.
- 스택 영역: 함수 호출 시 생성되는 지역 변수와 매개변수가 저장되는 곳입니다.
- 메서드 영역: 클래스 로딩 시 클래스와 인터페이스에 대한 메타데이터가 저장되는 영역입니다.
- Reachable 객체: 다른 객체나 스택 영역의 변수에 의해 참조되고 있는 객체입니다.
- Unreachable 객체: 더 이상 어떤 경로로도 접근할 수 없는 객체로, 가비지 컬렉션에 의해 제거될 대상입니다.
😊 어려운 지식을 쉽게 알려주는 GPTs사용하기 : https://chat.openai.com/g/g-Sei8mv1A6-ai-gwedominsu
'쉽게 이해기 시리즈 > 쉽게 이해하는 개발' 카테고리의 다른 글
[쉽게 이해하는 개발] 가비지 컬렉션에서의 STW (Stop The World) (0) 2023.12.13 [쉽게 이해하는 개발] 가비지 컬렉션의 기본 개념: Minor GC, Major GC, Young, Old, Eden (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 - 힙 (Heap) 영역 - 집에 쌓인 물건들