자바 프로그램 실행 과정

dy7888·2023년 8월 22일
0

클래스가 실행될 때

Hello.java라는 클래스를 실행시킨다고 해보자.

// Hello.java를 컴파일 -> Hello.java, Hello.class 파일 생성
javac Hello.java

java Hello // 실행

그럼 JVM은 Hello 클래스를 어디서 찾아서 실행할까?
👉CLASSPATH 경로에서 Hello 클래스를 찾아 실행한다.

CLASSPATH란? 클래스 파일들이 위치한 디렉토리나 JAR 파일의 경로를 지정하는 환경변수

순서

1. 클래스 로딩
Java 프로그램은 CLASSPATH를 기준으로 클래스 파일들을 로딩한다. Hello 클래스가 있는 경로에서 해당 클래스 파일을 찾는다.

2. 클래스 정보 저장
Hello 클래스가 클래스 로더에 의해 찾아지면 해당 클래스 정보는 메모리 내의 MetaSpace에 저장된다.

3. main 메소드 호출
JVM은 Hello 클래스 내의 main 메소드를 찾아서 실행

4. 프로그램 실행
Hello 클래스 내에서 필요한 작업들 수행. 객체 생성, 메소드 호출 등

5. 프로그램 종료

6. JVM 종료
모든 작업 완료 후 JVM이 종료된다. 이때, 할당된 메모리와 리소스는 운영체제에 반환

profile
나의 기록하는 개발 일지

0개의 댓글