메모리 종류
Static
용도
- 설계도, Clas Method 영역,
- 객체 생성없이 사용 (클래스 이름, 메서드())
- 객체를 생성한다면 한번만 생성 (싱글톤)
- 컴파일된 메서드가 올라가는 영역
영역
- 가장 길다.
- 설계도가 필요없을 때 까지 (Gc대상)
Stack
용도
- FILO (First In Last out - Push and Pop)
- 객체 레퍼런스, 기본타입
- 메서드 변수 (argument)
- 연산과정, 블록변수
기간
- 가장 짧다
- 메서드나 블록이 끝날 때 까지
Heap
용도
- 자유저장공간(인스턴스 저장)
- key로 value 찾음
- JVM이 관리 (Object 상속 - managed)
- 객체 생성 후 사용 (레퍼런스, 메서드())
- 참조타입
기간
1) 중간 기간
2) 객체가 더이상 사용되지 않을 때 (GC대상)
정리
- static : 메서드 영역, 클래스 영역, 설계도
- stack : 기본 타입의 연산이나 레퍼런스 저장
- heap : 생성된 객체 저장