728x90
개요
- JVM의
Runtime Data Areas에서Heap은 객체를 저장합니다. - 객체에 대한 참조 변수는
Stack에 있습니다.
Oracle의 Hotspot VM의 Heap 구조
Young GenerationEden- 객체가 최초로 할당되는 장소
- Eden이 포화상태이면 참조중인 모든 객체를 Survior로 옮깁니다.
- Survivor로 참조중인 객체가 모두 옮겨지면 Garbage Collection(
Minor GC) 수행합니다.
SurvivorSurvivor 1,Survivor 2로 이뤄져 있습니다.- 참조중인 객체들은 하나의 Survivor 영역만 사용합니다.
Old GenerationSurvivor에서 오랫동안 참조되고 있는 객체는Tenured로 이동합니다.Tenured에 온 객체는 앞으로도 오랫동안 참조될 가능성이 높기 때문에 메모리 상에서 계속 머무릅니다.Tenured의 메모리가 포화상태에 이르면 참조하고 있지 않는 객체에 대한 Garbage Collection(Major GC==Full GC)이 이뤄집니다.
Metaspace
'Language | Basic > Java' 카테고리의 다른 글
| Java의 스레드(Thread) 알아보기 (0) | 2021.06.02 |
|---|---|
| Java의 Garbage Collection (0) | 2021.05.28 |
| JVM(Java Virtual Machine)이란 (0) | 2021.05.28 |
| Lambda와 함수형 인터페이스 (0) | 2021.05.18 |
| Stream API (0) | 2021.05.10 |