자바

자바 - 메모리 관리

개발자 포비 2024. 11. 21. 21:57

Java vs C++ 메모리 관리

1. Java (JVM 기반 메모리 관리)

핵심 특징

  • 플랫폼 독립성
    • JVM을 통한 OS/하드웨어 추상화
    • 운영체제 독립적 프로그래밍
    • 프로그램 영향 범위 JVM 내부로 제한

메모리 관리 메커니즘

  • Garbage Collection (GC)
    • 자동 메모리 해제
    • 참조되지 않는 객체 자동 정리
    • 개발자 메모리 관리 부담 최소화

2. C/C++ 메모리 관리

핵심 특징

  • 직접적인 하드웨어/OS 제어
    • CPU와 OS에 직접 상호작용
    • 저수준 메모리 제어 가능

메모리 관리 접근법

  • 수동 메모리 관리
    • 개발자가 객체 생명주기 직접 관리
    • 명시적 메모리 할당/해제

3. 주요 차이점

구분 Java C++
메모리 해제 JVM 자동 관리 개발자 명시적 관리
플랫폼 독립성 높음 낮음
개발자 개입 최소 완전 제어
성능 GC 오버헤드 직접 최적화

4. 결론

  • 각 언어의 메모리 관리 방식은 고유의 장단점 존재
  • 개발 목적과 요구사항에 따라 선택 필요

참고 영상 -- https://www.youtube.com/watch?v=MaGtb9zLcS8

널널한 개발자 TV - Java와 C++ 메모리 관리 차이