“Connecting the dots”

JAVAStuDY Stack Heap 본문

JAVA

JAVAStuDY Stack Heap

kims1997 2023. 4. 11. 11:14
반응형

스택(Stack)과 합(Heap)은 자바에서 메모리를 관리하는 두가지 주요 영역이다


스택( Stack)

 

스택은 지역 변수와 메서드 호출 스택을 저장하는 메모리 영역이다

 

스택은 메모리 공간이 작고 제한적이며 변수의 크기가 고정되었다

 

스택은 호출된 메서드의 인자와 로컬변수,그리고 메서드의 반환 주소를 저장

 

메서드가 호출될 떄는 해당 메서드의 스택 프레임이 스택에 쌓이고,

 

메서드가 반환되면 해당 스택 프레임이 스택에서 제거된다

 

스택은 메서드 호출의 관계를 저장하면서 메모리를 관리 한다


합(Heap)

 

합은 (Heap) 동적으로 할당되는 객체와 배열이 저장되는 메모리영역입니다

 

합(Heap)은 자유롭고 유연하며 ,크기가 가변적 객체와 배열은 new 연사자를 사용하여 동적으로 할당

 

이들은 힙 영역에 저장 됩니다 객체와 배열은 런타임에 생성,프로그램이 실행되는 동안 메모리에 계속 남아 있다 

 

합은 Garbage Collection(GC)기능을 사용하여 사용하지 않는 객체나 배열을 자동으로 해제하여 메모리 누수 방지


스택과 합은 서로 다른 메모리 영역이지만 자바 에서 이 두영역이 상호작용하며 동작한다 객체와 배열의 변수는 스택에 저장 , 이들 변수는 객체와 배열의 주소를 가지고 있다 이 주소는 힙에 저장된 객체나 배열의 위치를 가리킨다 자바에서 객체와 배열은 힙에서 생성되지만 이들의 변수는 스택에  저장

 

 

 

 

 

반응형

'JAVA' 카테고리의 다른 글

Java Study 배열 180도 돌리기 / 배열좌우바꾸기  (0) 2023.04.12
JAVA 2차원배열  (0) 2023.04.12
JAVA 배열  (0) 2023.04.11
JAVA 알고리즘 연습문제  (0) 2023.04.10
java study 메소드 정의  (0) 2023.04.10