GC 2

메모리 누수: Memory Leak

메모리 누수(Memory Leak)란 프로그램이 동적으로 할당한 메모리를 해제하지 않아서, 사용하지 않는 메모리가 계속해서 점유되는 현상을 의미합니다. 메모리 누수가 발생하면 시스템의 가용 메모리가 줄어들고, 성능 저하 및 심각한 경우 프로그램이 크래시할 수도 있습니다.1. 메모리 누수의 원인메모리 누수는 주로 다음과 같은 이유로 발생합니다.(1) 동적 메모리 할당 후 해제하지 않는 경우C, C++ 같은 언어에서는 malloc(), new 등을 사용하여 동적으로 할당한 메모리를 free(), delete로 해제해야 합니다. 그러나 개발자가 실수로 해제하지 않으면 메모리 누수가 발생합니다.void memoryLeak() { int* ptr = new int[10]; // 동적 메모리 할당 //..

백엔드 2025.02.23

Java 메모리 영역과 동작 원리

Java는 메모리 관리를 자동으로 수행하는 가비지 컬렉터(Garbage Collector, GC) 를 제공하여 개발자가 직접 메모리를 해제하지 않아도 됩니다. 하지만 효율적인 Java 애플리케이션을 개발하기 위해서는 Java의 메모리 구조를 이해하는 것이 중요합니다.이번 글에서는 Java의 메모리 영역과 그 동작 방식을 자세히 살펴보겠습니다.1. Java 메모리 구조 개요Java 애플리케이션이 실행될 때, JVM(Java Virtual Machine) 은 여러 개의 메모리 영역을 관리합니다. JVM 메모리는 크게 Method Area, Heap, Stack, PC Register, Native Method Stack 으로 나뉩니다.🔹 Java 메모리 영역 구성메모리 영역설명Method Area (메서드..

백엔드 2025.02.14