728x90
반응형

📌 JVM은 OS로부터 메모리를 할당받음

- JVM은 할당받은 메모리를 영역지어서 관리함

- OS로부터 받은 메모리를 Runtime Data Area라고 함

- Runtime Data Area는 5개 영역으로 구분

- Static Area, Stack Area, Heap Area, Native Method Stack Area, PC Register

 

 

📌 Class Area or Method Area or Static Area

- 모두 같은 영역을 말함

- 전역변수와 정적 멤버변수(static 변수)는 이 영역에 저장

- static area는 프로그램의 시작부터 종료가 될 때까지 메모리에 남음

- 이는 전역변수가 프로그램 종료될 때까지 어디서든 사용이 가능한 이유임

 

 

📌 Stack Area

- 지역변수, 인자값, 리턴값이 저장이 되는 영역, 즉 메소드 안에서 사용되어지는 값들이 저장  

- 정수타입(byte, char, short, int), 실수타입(double, float), 논리타입(boolean)

- 해당 메소드가 호출될 때 메모리에 할당되고, 종료되면 메모리가 해제

- 각 스레드당 1개의 스택을 가짐

 

 

📌 Heap Area

- 인스턴스 생성 : 클래스명 변수명 = new 클래스명();

- 참조형 데이터 타입을 갖는 객체(인스턴스), 배열 등은 이 영역에 저장

- 즉, new 명령으로 만드는 메모리는 모조리 힙 영역에 보관

- 이 메모리는 가비지 컬렉터가 회수하기 전까지 유지됨

반응형

'면접 준비 > 코딩테스트' 카테고리의 다른 글

palindrome  (0) 2021.01.19
제이쿼리 관련  (0) 2020.12.17
추상클래스와 인터페이스  (0) 2020.12.15
GET과 POST의 비교 및 차이  (0) 2020.12.14
$(document).ready()와 $(window).load()  (0) 2020.12.11
복사했습니다!