[Java] 3. JDK의 컴파일 설명
JDK의 기준으로 컴파일 과정을 간단하게 설명을 위한 포스팅이다.
1. JDK의 컴파일 설명
파일명 | 역할 | 설명 |
---|---|---|
javac.exe | 컴파일러 | 자바소스코드를 바이트코드로 컴파일 |
java.exe | 인터프리터 | 컴파일러가 생성한 바이트코드를 해석하고 실행 |
javap.exe | 역어셈블러 | 컴파일된 클래스파일을 원래의 소스로 변환 |
jar.exe | 압축프로그램 | 클래스파일과 프로그램과 프로그램의 실행에 관련된 파일을 하나의 jar파일(.jar)로 압축/해제 |
cmd 창에서 간단하게 컴파일 과정을 확인하기 위해
text로 HelloWorld.java 을 만든다.
HelloWorld.java 자바소스파일 생성
public class HelloWorld {
public static void main (String[] agrs) {
System.out.println("Hello World");
}
}
HelloWorld.java > HelloWorld.class (바이트코드로 컴파일)
C:\javaTest>javac HelloWorld.java
! javac.exe: 자바소스코드를 바이트코드로 컴파일
우리가 코딩한 자바소스파일인 HelloWorld.java을
자바 바이트코드로 컴파일 해서 HelloWorld.class 만들어진 것을 확인 할 수 있다.
HelloWorld.class 파일 실행
jre에서 실행을 담당하는 파일로 아래와 같이 실행을 하면 우리가 작성한 자바소스코드 Hello World가 찍힌다.
C:\javaTest>java HelloWorld.java
Hello World
! java.exe: 컴파일러가 생성한 바이트코드를 해석하고 실행
컴파일된 HelloWorld.class 원래의 소스로 변환
C:\javaTest>javap HelloWorld.class
! javap.exe: 컴파일된 클래스파일을 원래의 소스로 변환
cf) 자바 바이트코드(Java bytecode)
자바 가상 머신(JVM)이 이해할 수 있는 언어의 형태이고, JVM은 바이트코드를 다시 OS의 기계어로 변환되어 OS로 전달한다. 그래서 자바 가상 머신만 설치되어 있으면, 어떤 운영체제에서라도 실행이 가능하다.
이어서 java 실행 과정
은 다음 포스팅에 이어서 설명 하겠습니다.