✅ 자바 프로그램의 개발과 구동
- JDK : Java Development Kit / 자바 개발 도구
- JRE : Java Runtime Environment / 자바 실행 환경
- JVM : Java Virtual Machine / 자바 가상 기계
📌 객체 지향 프로그램의 메모리 사용 방식
- 코드 실행 영역
- 데이터 저장 영역
- 스태틱(Static) 영역
- 스택(Stack) 영역
- 힙(Heap) 영역
public class Start {
public static void main(String[] args) {
System.out.println("Hello");
}
}
- JRE는 프로그램 안에 main() 메서드가 있는지 확인
- main() 메서드의 존재가 확인되면 JVM을 부팅시키고 java.lang 패키지를 스태틱 영역에 가져다 놓음.
main() 메서드가 실행되기 전 JVM에서 수행하는 전처리 작업들
- java.lang 패키지를 스태틱 영역에 배치
- import된 패키지를 스태틱 영역에 배치
- 프로그램 상의 모든 클래스를 스태틱 영역에 배치
- main() 메서드가 실행되기 위해 스텍 프레임이 스택 영역에 할당
- 메서드의 인자 args를 저장할 변수 공간을 스택 프레임의 맨 밑에 확보
- main() 메서드 안의 첫 명령문 실행