728x90
반응형
[Java] 컴파일 과정
자바를 많이 사용하기는 하지만, 막상 컴파일 과정을 설명하라하면 말문이 막힌다;;
면접에서도 가끔 나오는 주제이므로 정리해보자
HelloWorld.java 파일을 실행하기 위해 Run 버튼을 눌렀을 때 진행되는 과정은 아래와 같다.
1. HelloWorld.java가 javac.exe을 통해 컴파일 진행
2. HelloWorld.class가 생성됨 ( byte code )
→ byte code는 반 기계어 상태로, 컴퓨터가 읽을 수 없다. 따라서 변환 과정이 필요함
3. HelloWorld.class를 java.exe로 실행
4. 클래스 로더를 통해 HelloWorld.class를 JVM으로 가져온다.
(JVM은 현재 진행을 시도하는 OS에 맞게 변환시켜줌)
5. Byte Code Verifier에서 byte code를 검증함
6. 인터프리터가 byte code를 binary code로 변환해줌
(이때 변환된 binary code는 JVM의 클래스 영역에 저장됨)
7. Runtime 실행
이와 같은 과정을 통해 Java 파일이 컴파일 되고, JVM에 의해 해당 OS에 맞도록 변환시켜 컴퓨터가 읽을 수 있도록 만들어준다.
728x90
반응형
'Java' 카테고리의 다른 글
상속보다 컴포지션을 사용해야하는 이유 (0) | 2022.12.11 |
---|---|
[Java] 직렬화(Serialization) (0) | 2021.07.04 |
[Java] GUI를 활용한 직원 관리 프로그램 (1) | 2019.02.17 |
[자바(java)/스프링(spring)] 면접 질문 모음 (1) | 2019.02.13 |
[Java] 필수 개념 정리 (1) | 2019.01.20 |