728x90
반응형
JVM이 class(실행 클래스)를 실행하는 방법
- 해당 클래스를 현재 디렉토리에서 찾는다.
- 찾으면 클래스 내부에 있는 static 키워드가 있는 메서드를 메모리에 로딩 한다.
- method Area의 static zone에 로딩 한다. main() method
- static zone에서 main() 메소드를 실행한다. (호출, 시작)
- main() method가 호출되면 main() metohd의 호출정보가 Stack Area에 들어간다(push)
- 프로그램이 시작되는 부분이다. (PC의 위치가 현재 동작되고 있는 메서드다.)
- Static Area가 비어 있으면 프로그램이 종료된 것이다.
method Area
- 기계어 코드가 올라감
- Method의 byte code가 저장되는 영역
stack area
- 메서드가 호출되면 메서드의 호출정보가 저장되는 영역
- Call Stack Frame Area
- LIFO (Last In First Out)
heap area
- 객체가 생성되는 영역
- new 연산자
literal Pool
- 문자열(객체)상수가 저장되는 영역
728x90
반응형
'JAVA > Java TPC(생각하고, 표현하고, 코딩하고)' 카테고리의 다른 글
[JAVA] 객체 생성 과정(new, 생성자 메서드, this) (0) | 2022.07.18 |
---|---|
[JAVA] 기본자료형(PDT) vs 사용자정의자료형(UDDT) (0) | 2022.07.17 |
[JAVA] 메서드는 변수다(변수 vs 메서드 관계) (0) | 2022.07.17 |
[JAVA] 데이터를 이동하라 (변수 vs 배열의 관계) (0) | 2022.07.17 |
[JAVA] 관계를 이해하라 (V. D. A) (0) | 2022.07.16 |