본문 바로가기

메모리 누수2

[C/C++ 프로그래밍] 15. 메모리 동적 할당 Chapter 15. 메모리 동적 할당 메모리 동적 할당(dynamic memory allocation)은 C/C++ 프로그래밍에서 매우 중요한 주제입니다. 이는 실행 시간 동안 프로그램이 필요한 만큼의 메모리를 요청하고 해제할 수 있게 해주는 메커니즘입니다. C언어에서는 'malloc', 'calloc', 'realloc' 및 'free' 함수를 사용하여 동적 메모리를 할당하고 해제합니다. 'malloc'은 지정된 크기의 메모리 블록을 할당하고, 'calloc'은 지정된 크기의 메모리 블록을 할당한 후 0으로 초기화합니다. 'realloc'은 이미 할당된 메모리 블록의 크기를 변경하고, 'free'는 할당된 메모리를 해제합니다. 반면, C++에서는 'new'와 'delete' 연산자를 사용하여 메모리를.. 2023. 5. 16.
[자바(JAVA)] 메모리 관리와 가비지 컬렉션 23. 메모리 관리와 가비지 컬렉션 23.1. 메모리 관리 개념 자바에서 메모리 관리는 JVM(Java Virtual Machine)이 담당합니다. JVM은 기본적으로 힙(Heap) 영역에서 객체를 관리합니다. 힙 영역은 크게 영구(Permanent) 영역, 노출(Young) 영역, 그리고 노출 영역의 서바이버(Survivor) 영역과 테넌트(Tenured) 영역으로 나눠집니다. 객체가 생성되면 노출 영역에 할당되고, 시간이 지남에 따라 서바이버와 테넌트 영역으로 이동하게 됩니다. 23.2. 가비지 컬렉션 동작 원리 가비지 컬렉션(GC)은 더 이상 사용되지 않는 객체를 자동으로 회수하여 메모리를 관리하는 프로세스입니다. GC는 JVM에 의해 실행되며, 객체가 더 이상 참조되지 않을 때 메모리를 회수합니다.. 2023. 4. 28.