-
8. 메모리 상수풀영역?

메모리 구조



개인적으로 컴퓨터 공부를 하면서 가장 중요하게 생각하는 부분은 바로 메모리이다.

데이터 영역(Data Area)
데이터 영역은 전역 변수와 static 변수가 할당되는 영역이다. 이 영역에 할당되는 변수들은 일반적으로 프로그램의 시작과 동시에 할당되고, 프로그램이 종료되어야만 메모리에서 소멸된다. 즉, 데이터 영역에 할당된 변수는 프로그램이 종료될 때까지 계속 존재한다는 특징을 지닌다. 전역 변수와 static 변수의 특징과 일치하는 부분이다.

스택 영역(Stack Area)
스택 영역은 함수 호출 시 생성되는 지역 변수와 매개 변수가 저장되는 영역이다. 이 영역에 할당된 변수는 함수 호출이 완료되면 사라진다는 특징을 지닌다. 이는 다른 메모리 영역과 확실히 비교되는 특징이다. 늦게 할당된 변수의 메모리가 먼저 해제되므로 스택의 특징과 일치한다.

힙 영역(Heap Area)
힙 영역은 프로그래머가 관리하는 메모리 영역이다. 즉 프로그래머의 필요에 의해서 메모리 공간이 할당 및 소멸되는 영역이다. 동적 할당으로 생성되는 메모리 영역이다.

상수 풀(Constant pool)

힙 영역의 Permanent area(고정 영역)에 생성되어 Java 프로세스의 종료까지 계속 유지되는 메모리 영역이다. 기본적으로 JVM에서 관리하며 프로그래머가 작성한 상수에 대해서 최우선적으로 찾아보고 없으면 상수풀에 추가한 이후 그 주소값을 리턴한다.
장점 -  메모리 절약 효과


다른 카테고리의 글 목록

카테고리 없음 카테고리의 포스트를 톺아봅니다