Steak 메모리, Heap 메모리

hashin·2023년 5월 31일

JAVA

목록 보기
8/19

Steak 메모리

스택 메모리(Stack memory)는 프로그램 실행 중에 사용되는 메모리 영역 중 하나로, 메서드 호출과 관련된 데이터를 저장하는 데 사용됩니다. 스택 메모리는 함수 호출 스택(Call Stack)이라고도 불립니다.

특징: 메서드 호출, 후입선출(LIFO), 제한된 크기,
스레드별 독립성

스택 메모리는 주로 메서드 호출과 관련된 데이터를 저장하는 데 사용됩니다. 메서드가 호출될 때마다 해당 메서드의 로컬 변수와 매개 변수, 그리고 메서드 호출에 필요한 정보가 스택에 추가되고, 메서드가 종료되면 해당 정보가 스택에서 제거됩니다.

스택 메모리의 크기는 JVM의 구성 및 시스템의 제한에 따라 달라질 수 있으며, 개발자는 스택 오버플로우를 피하기 위해 재귀 호출이 너무 깊어지지 않도록 주의해야 합니다.

heap 메모리

힙 메모리(heap memory)는 자바 프로그램에서 동적으로 할당되고 관리되는 메모리 영역입니다. 힙 메모리는 객체 인스턴스와 배열 등의 동적으로 생성된 데이터를 저장하기 위해 사용됩니다.

특징: 동적 할당, 가비지 컬렉션,멀티 스레드 환경,객체의 생명주기 관리

힙 메모리는 new 키워드를 사용하여 객체를 동적으로 생성할 때 사용됩니다. 예를 들어:

public class Example {
    public void createObject() {
        MyClass obj = new MyClass(); // 힙 메모리에 MyClass 객체를 동적으로 생성
    }
}

위의 예시에서 new MyClass()는 힙 메모리에 MyClass 객체를 생성하고, obj 변수는 해당 객체를 참조합니다. 이후에는 obj 변수를 통해 해당 객체에 접근하고 사용할 수 있습니다.

힙 메모리는 자바의 메모리 구조 중 하나이며, 다른 메모리 영역인 스택 메모리와 함께 프로그램의 실행과 메모리 관리에 중요한 역할을 합니다.

0개의 댓글