알고보면코딩천재

메모리 구조 heap/stack/static 본문

Java

메모리 구조 heap/stack/static

알코천 2022. 7. 27. 12:47

8GByte의 RAM이 있다.

이중에 JVM의 메모리 구조에 대해 알아보겠다.

 

 

 

일단 데이터에는

1. 계속 기억해야 하는 데이터와

2. 쓰고 버려도 되는 데이터가 있다.

이렇게 나뉘는 이유는 데이터를 효율적으로 쓰기 위함이다. 

 

 

static 

- 정적 저장공간

- 프로그램 시작 전에 미리 띄어놓아야 되는 것들을 저장하는 공간

- 정적변수

 

heap

- 동적 저장공간

- 상태에 대한 정보 저장

- 전역변수

 

stack

- 행위를 위해 필요한 데이터 저장 

- 매서드 종료시에 자동으로 사라짐

 

자동차가 있다. 이 자동차는 40km의 속도로 달리고 있다 (상태 - heap)

50km 제한속도 표지판 (행위를 위해 필요한 데이터 - stack)을 보고 속도를 조절한다.

표지판은 내가 엑셀을 보는 그 순간에만 기억하면 될 정보이다. (메서드 종료시 사라짐)

 

static은 프로그램이 종료되면 사라진다

heap은 (자바에서) 자동관리 된다 - 가비지 컬렉션

stack은 메서드 종료시에 자동으로 사라진다

모든 것이 알아서 관리되므로 Java는 Managed 언어이다.

 

 

'Java' 카테고리의 다른 글

java 산술연산자 (operator)  (0) 2022.07.28
Java 변수 선언  (0) 2022.07.28
java 기초형  (0) 2022.07.27
Java JVM 아키텍쳐 (1) - 기초 (정리중)  (0) 2022.07.27
05. Java는 하이브리드 언어  (0) 2022.07.27
Comments