목록 보기
메모리 누수의 개념과 방지 방법
백엔드

메모리 누수의 개념과 방지 방법

넥스트리
넥스트리
2023년 7월 20일

두줄요약

메모리 누수의 개념과 원인을 GC Root 관점에서 설명했습니다. 리소스 해제, static 변수 관리, 약한 참조 활용으로 예방하는 방법을 정리했습니다.

핵심 내용

  • 메모리 누수는 더 이상 사용하지 않는 객체가 힙에 남아 불필요한 메모리를 차지하는 상태
  • GC Root에 의해 reachable로 유지되면 가비지 컬렉터가 회수하지 못해 성능 저하와 OOM 위험이 커짐
  • 누수 의심 시 VisualVM, Eclipse Memory Analyzer, 힙 덤프 분석으로 사용량과 참조 관계를 점검
  • 대표 예방 방법으로 리소스 close, static 변수 정리, 비정적 내부 클래스 주의, WeakReference 활용이 제시됨

적용해볼 점

  • InputStream, ResultSet, Connection 등은 try-with-resources로 자동 해제
  • 불필요한 static 참조는 제거하고 더 이상 쓰지 않으면 null 처리
  • 큰 객체 캐시나 내부 클래스 설계에서는 강한 참조 유지 여부를 점검

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...