반응형
자바에서 힙 메모리에 객체를 할당할 때 메모리가 부족한 상황과 그에 따른 가비지 컬렉터의 역할을 UML 시퀀스 다이어그램을 통해 살펴보려고 합니다.
- Client가 객체를 생성하려고 JVM에게 요청합니다.
- JVM은 HeapMemory에서 충분한 메모리 공간이 있는지 확인합니다.
- 만약 메모리가 충분하지 않다면, JVM은 GarbageCollector를 호출하여 사용되지 않는 객체들을 제거하고 메모리를 회수하도록 합니다.
- 가비지 컬렉션 후, HeapMemory는 다시 메모리 상태를 확인합니다.
4.1 만약 여전히 메모리가 충분하지 않다면, HeapMemory는 JVM에게 "Out of Memory Error"를 보냅니다. 이 상황에서 프로그램은 종료되거나 예외 처리를 통해 복구될 수 있습니다.
4.2 만약 메모리가 충분해졌다면, HeapMemory는 JVM에게 메모리가 확보되었다고 알립니다. - 충분한 메모리가 확보되면, JVM은 HeapMemory에 객체를 할당하고 초기화합니다.
- 마지막으로, 객체의 참조를 Client에게 반환합니다.
바의 가비지 컬렉션 메커니즘을 이해하는 것은 메모리 관리와 애플리케이션 성능 최적화에 매우 중요합니다
반응형
'SpringBoot' 카테고리의 다른 글
Quartz를 이용한 클러스터링 설정과 구현 방법 (0) | 2023.12.26 |
---|---|
Blocking IO 와 Non-Blocking IO (0) | 2023.10.29 |
Java Heap 메모리 할당 과정 시퀀스 (0) | 2023.10.29 |
JMX (Java Management Extensions) 이해하기 및 모니터링 도구 (0) | 2023.10.29 |
마이크로서비스 추적을 위한 Spring Cloud Sleuth와 Zipkin 사용예제 (1) | 2023.10.22 |