티스토리 뷰

메소드 영역
- 클래스에 대한 정보와 함께 클래스 변수(static)가 저장되는 영역이다.
- 메소드 영역의 데이터는 프로그램의 시작부터 종료될 때까지 메모리에 남아있다.
- 따라서 전역변수를 무분별하게 많이 사용하면 메모리가 부족하게 될 수 있다.
힙 영역
- JVM이 관리하는 프로그램 상에서 데이터를 저장하기 위해 런타임 시 동적으로 할당하여 사용하는 영역이다.
- new 키워드로 생성된 객체와 배열이 저장된다.
- 메소드 영역에 로드된 클래스의 객체만 생성이 가능하다.
- 힙 영역에 생성된 객체와 배열은 스택 영역의 변수나 다른 객체의 필드에서 참조한다.
- 참조하는 변수나 필드가 없다면 의미 없는 객체가 되어 Garbage Collector의 대상이 된다.
-> Garbage Collector : 힙 영역에 생성된 객체 중 참조되지 않는 객체들을 탐색 후 제거하는 역할을 한다. 제거하는 타이밍은 정확히 알 수 없다.
스택 영역
- 각 스레드마다 하나씩 존재하며 스레드가 시작될 때 할당된다.
- 메소드를 호출할 때마다 프레임(Frame)을 추가(push)하고 메소드가 종료되면 해당 프레임을 제거(pop)하는 동작을 수행한다.
후입선출(LIFO) 구조. - 기본형 변수는 스택 영역에 직접 값을 가지고 참조 변수는 힙 영역이나 메소드 영역의 객체의 주소를 가진다.
'CS > JAVA' 카테고리의 다른 글
| [JAVA] Thread (0) | 2021.06.17 |
|---|---|
| [JAVA] 변수의 종류 (0) | 2021.06.16 |
| [JAVA] 접근 제어 지시자 (0) | 2021.06.16 |
| [JAVA] Wrapper Class, Generic (0) | 2021.06.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 신규아이디추천
- 프로그래머스
- generic
- 2529
- CS
- 구간 합 구하기
- 15686
- Stack
- 조합
- BFS
- Regex
- 11729
- 제네릭
- 백준
- 래퍼 클래스
- 알고리즘
- 백트래킹
- recursion
- 11659
- 와일드카드
- 하노이 탑
- gof
- java
- Wrapper Class
- 디자인 패턴
- 게리맨더링
- 재귀
- OOP
- 4796
- 순열
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
글 보관함