GC(2)
-
[JVM] Garbage Collector
GC(Garbage Collector)란 ? Java Application은 필요에 따라서 메모리에서 객체를 얻습니다. 애플리케이션이 작성된 로직을 따라 진행되면서 메모리에 계속해서 새로운 객체들의 정보가 올라갈 것이고, 애플리케이션에서 더 이상 사용하지 않는 객체에 대한 정보도 메모리에 올라가 있을 것입니다. 이처럼 애플리케이션의 메모리에 정보가 계속 올라가는데, 저장 공간은 무한하지 않기 때문에 메모리가 가득 차게 된다면 OOM Error(OutOfMemoryErrors)로 인해서 애플리케이션이 비정상적으로 종료가 될 것입니다. 이를 방지하기 위해서 GC가 애플리케이션에서 동작합니다. 애플리케이션에서 더이상 사용하지 않아 참조되지 않는 객체를 Garbage라고 합니다. GC는 메모리 관리를 위해 사용..
2024.04.18 -
[JVM] Runtime Data Area
Runtime Data Area란 자바 애플리케이션을 실행하면 JVM이 OS로부터 메모리 공간을 할당받고 JVM은 할당받은 메모리를 용도에 따라 여러 영역으로 나누어 관리하게 되는데, 이렇게 관리하는 전체 영역을 Runtime Data Area라고 부릅니다. 메모리 영역은 Method Area, Heap Area, Stack Area, PC register, Native Method Stack으로 나뉩니다. 위 사진에서 보이듯이 Method Area, Heap Area 영역은 모든 Thread가 공유하고 Stack Area, PC register, Native Method Stack 영역은 Thread 별로 생성됩니다. 쓰레드(Thread)와 프로세스 - 작성 예정 모든 Thread가 공유하는 Metho..
2024.04.18