728x90

일반적인 프로그램은 운영체제 위에서 실행이 된다.

구조를 설명하자면 [Hardware - Operating System - Program]이 된다. 

이처럼 하드웨어를 기반으로 운영체제가 동작하고, 그 위에서 프로그램이 실행이 된다.

 

그러나 자바 프로그램은 다르다.

자바 프로그램의 구조는 [Hardware - Operating System - Java Virtual Machine - Java Program]이다.

운영체제와 자바 프로그램 사이에 가상 머신이 존재한다. 

가상머신이란 운영체제 위에서 동작하는 일종의 소프트웨어 프로그램이다.

이 가상머신 위에서 프로그램이 실행되기 때문에 운영체제와 상관없이 실행시킬 수 있다.

다른 운영체에에 대해 다른 JVM이 있기 때문에 동일한 Java 프로그램을 실행할 수 있다.

 


자바 컴파일러는 자바 가상머신이 이해할 수 있는 코드를 생성해 낸다.

xxx.java파일을 소스파일이라 하고 소스파일에 저장된 프로그램 코드를 소스코드라고 한다.

자바 컴파일러는 소스코드를 JVM이 이해할 수 있는 '자바 바이트코드'로 변환해주는 프로그램이다.

 

javac.exe가 자바 컴파일러다.

java.exe는 자바 런처라고 한다. 가상머신을 구동시키고 그 위에 자바 프로그램이 실행되도록 돕는다.

xxx.java가 javac.exe에 의해 컴파일 되면 xxx.class파일이 생기고 이 파일이 java.exe에 의해 JVM에서 실행이 된다.

728x90

+ Recent posts