ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] Java 컴파일 & 실행 과정
    Programming/Java 2020. 9. 16. 02:23

    Helloworld.java

     

     

     

    Compile time

    1. 개발자가 Helloworld.java 소스 파일을 작성한다.

    2. JVM에서 동작가능한 Byte 코드로 변환하기 위해 Java compiler가 Java 코드를 Byte 코드로 컴파일한다.

    3. Helloworld.java -> Helloworld.class로 컴파일

     

    Run time

    1. JVM의 Class loader가 Helloworld.cass 클래스 파일을 JVM상으로 가져온다.

    2. Byte verifier에 의해 바이트 코드 내부 오류나 버그가 있는지 검증 과정을 거친다.

    3. Interpreter는 검증까지 끝난 Helloworld.class를 실행되는 HW의 OS에 맞게 한 줄씩 실행한다.

     

     

    Compiler vs Interpreter

    컴파일러는 프로그래밍 언어로 쓰인 소스 코드를 Run time 이전에 기계어로 변환하는 방식으로 동작한다.

    반면에 인터프리터는 소스 코드를 Intermediate code 즉, 중간 코드로 변환한 후 Run time 후에 중간 코드를 Row 단위로 실행한다. 

    JVM의 인터프리터가 하는 일은 Byte Code로 컴파일한 클래스 파일을 특정 OS에 맞게 실행될 수 있도록 변환하기 위한 것이다. 따라서 JVM만 설치된다면 Byte Code는 어떤 OS에서도 실행될 수 있다.

    'Programming > Java' 카테고리의 다른 글

    [Java] JDK & JRE & JVM  (0) 2020.09.16
    [Java] JVM  (0) 2020.09.16
    [Java] Compile time vs Run time  (0) 2020.09.15
    [Java] 객체타입 Set  (0) 2020.09.10
    [Java] StringBuilder class 함수  (0) 2020.07.03

    댓글

Designed by Tistory.