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 |