본문/내용
1. Java의 가비지 컬렉션(Garbage Collection)에 대해 설명하시오.
Java의 가비지 컬렉션은 자동으로 불필요한 객체를 메모리에서 제거하는 메커니즘으로, 개발자가 수동으로 메모리 관리를 하지 않아도 프로그램의 메모리 누수를 방지하고 성능을 향상시켜줍니다. Java는 힙(heap) 영역에 객체를 할당하며, JVM은 주기적으로 가비지 컬렉션을 수행하여 더 이상 참조되지 않는 객체를 찾아서 제거합니다. 가비지 컬렉션은 여러 알고리즘이 있으며, 대표적으로 Mark-and-Sweep, Stop-and-Cather, Generational GC 등이 있습니다. 특히 Generational GC는 객체의 생존 기간에 따라 Young, Old, Tenured 영역으로 구분하여 효율성을 높입니다. 예를 들어, Oracle JVM에서는 G1 가비지 컬렉션을 도입하여, 16~64 GB 규모의 서버 환경에서도 1초 미만의 짧은 일시 정지를 유지할 수 있으며, 실무에서 수백 기가바이트의 데이터를 처리하는 대규모 시스템에서도 가비지 컬렉션의 튜닝을 통해 GC 시간 50% 이상 단축된 사례가 있습니다. 성능 저하를 방지하기 위해 JVM의 힙 크기와 가비지 컬렉션 전략을 적절히 조절하는 것이 중요하며, 가비지 컬렉션이 효율적일수록 CPU 사용…