반응형
728x170
|
JVM은 메모리 영역을 분할해 사용한다.
java.exe로 JVM이 시작되면 JVM은 운영체제에서 할당받은 메모리 영역을 다음과 같이 세부 영역으로 구분해서 사용한다.
- 메소드 영역
메소드 영역은 코드에서 사용되는 클래스(~.class)들을 클래스 로더로 읽어 클래스별로 런타임,
필드데이터, 메소드 데이터 등을 분류해서 저장한다.
- 힙 영역
객체와 배열이 생성되는 영역이다. 힙 영역에 생성된 객체와 배열은 JVM 스택 영역의 변수나 다른 객체의 필드에서 참조한다. 참조하는 변수나 필드가 없다면 의미 없는 객체가 되기 때문에 이것을 쓰레기로 취급하고 JVM은 가비지 컬렉션을 실행시켜 자동으로 제거한다.
- 스택 영역
스택 영역은 각 스레드마다 하나씩 존재하며 스레드가 시작될 때 할당된다. 스택은 메소드를 호출할 때마다 프레임을 추가(push)하고 메소드가 종료되면 해당 프레임을 제거(pop)을 한다.
만약 배열과 같은 놈들은 다음과 같이 된다
int[] socres = {10, 20};
이와 같은 방식으로 진행된다
반응형
그리드형
'java' 카테고리의 다른 글
자바 객체, 객체 지향 프로그래밍 (0) | 2017.08.10 |
---|---|
자바 향상된 for문(foreach문) (0) | 2017.08.10 |
자바 키보드 입력(키보드의 키, 키 코드), 엔터 코드 (0) | 2017.08.10 |
자바 char 타입 및 아스키, 유니코드, 타입변환 (0) | 2017.08.08 |
자바 동작 순서 (0) | 2017.08.08 |