자바
자바 - 메모리 관리
개발자 포비
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++ 메모리 관리 차이