[java] 자바 힙의 메모리 공간 할당 방식
자바에서는 메모리를 세 가지 영역으로 나눕니다. 이 중 하나인 힙(heap)은 동적 메모리 할당을 위한 영역으로서, 객체와 배열이 여기에 저장됩니다.
자바 힙 메모리 구조
힙 메모리는 새로운 객체나 배열이 생성될 때 사용됩니다. 힙은 가비지 컬렉션에 의해 관리되며, 객체가 생성되는 위치가 메모리에서 동적으로 할당됩니다. 이렇게 함으로써, 메모리의 효율적인 사용이 가능하게 됩니다.
아래는 자바 힙 메모리 구조의 간단한 예시입니다.
public class MemoryAllocation {
public static void main(String[] args) {
// 새로운 객체가 힙 메모리에 할당됨
Person person = new Person("John", 25);
}
}
class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
힙 메모리의 동적 할당
자바에서 객체나 배열은 힙 메모리에 동적으로 할당됩니다. 이는 객체의 크기가 컴파일 시점에 알려지지 않아도 됨을 의미합니다. 프로그램 실행 중에 동적으로 메모리가 할당되므로, 힙 메모리는 유연성을 제공합니다.
요약
힙 메모리는 자바에서 객체와 배열이 저장되는 동적 메모리 영역입니다. 이 영역은 가비지 컬렉션에 의해 관리되며, 동적 할당을 통해 메모리의 효율적인 사용을 가능케 합니다.