알고보면코딩천재
메모리 구조 heap/stack/static 본문
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