Garbage Collection 이해하기

들어가며 지난 포스팅에서는 JVM의 전체적인 메모리 구조(Runtime Data Area)에 대해 공부한 내용을 정리했다. JVM이 OS로부터 메모리를 할당받고, 이를 용도에 따라 Method, Heap, Stack 등으로 나누어 관리한다는 것을 알 수 있었다. 오늘은 그중에서도 객체가 저장되는 가장 중요한 공간인 힙(Heap) 영역과, 이 공간을 자동으로 관리해 주는 가비지 컬렉션(Garbage Collection) 에 대해 학습하고자 한다. C, C++ 같은 언어에서는 개발자가 직접 메모리를 할당하고 해제해야 했지만 자바는 GC가 있기에 개발자가 비즈니스 로직에 조금이라도 더 집중할 수 있을 것이라 생각한다. 서버의 성능 문제나 메모리 누수 등의 이슈를 해결하기 위해서는 이 메커니즘을 반드시 이해해야 한다. 이번 포스팅을 통해 힙 영역의 구조와 GC의 동작 원리를 정리해보겠다. ...

2026년 1월 15일 PM04:09 · PolarBear

JVM 구조 이해하기

들어가며 예전에 남궁성 저자의 “자바의 정석” 책을 통해 공부하며 기본기를 다졌지만, 실무를 하다 보니 더 탄탄한 베이스가 필요함을 느꼈다. 처음 정독할 당시에는 책이 워낙에 두꺼웠기에 jvm, 스레드, 람다, 스트림, 네트워크 등 후반부 챕터를 빠르게 훑고 지나갔던 것이 아쉬움으로 남았다. 이번 기회에 다시 자바의 정석 책을 펼쳐보며 앞서 말한 챕터들과, 개인적으로 헷갈리거나 잊어버린 지식들에 대해서도 복습해보며 차근차근 포스팅을 해 볼 예정이다. 하지만 책에서는 자세하게 나와있지 않을 부분도 존재할 수 있어 각 키워드별로 공식문서도 참고할 생각이다. ...

2026년 1월 8일 AM12:27 · PolarBear