JAVA는 인터프리터(interpreter) 방식과 컴파일(compile) 방식이 혼합된 언어이다.
in Development on Java
Java(자바)의 프로그램 실행 방식
Java 인터프리터는 JAVAC 명령으로 자바 프로그램을 중간 형태인 자바 바이트 코드로 컴파일 하고, 이를 자바 인터프리터가 한 줄씩 해석하여 기계어로 번역한다. 즉, 자바 파일(*.java
)을 javac(Java Compiler)로 컴파일하면 바이트 코드로 쓰여진 파일(.class
)로 변환한다. 그리고 Java 인터프리터가 바이트 코드로 쓰여진 파일의 코드를 한 줄씩 읽어내려가면서 실행하는 것이다.
왜 자바는 컴파일과 인터프리터 방식을 병행하는 것일까?
원래 자바의 JVM에서는 인터프리터 방식만 사용했었다. 인터프리터 방식이란 코드 한 줄씩 기계어로 번역하는 방식이다. 하지만 성능의 문제가 발생했어서 JIT Compiler를 추가해서 성능의 효율을 끌어올렸다. 이로 인해 자바는 컴파일과 인터프리터 방식을 병행해서 사용하게 됐다.