자바의 실행 과정은 컴파일러에서 바이트 코드가 생성되고 자바 가상 기계를 통해 바이트 코드가 기계어로 변환된다.


Q) 왜 컴파일러와 자바 가상 기계라는 두 단계를 거치는 걸까?


A) 사용자가 모든 컴퓨터에서 응용 프로그램들을 다시 컴파일하지 않고 실행되게 하기 위해서이다.


Q) 자바 가상 기계는 별도로 설치해야 되는가?


A) 자바 가상 기계는 실제로 존재하는 컴퓨터가 아니라 가상 컴퓨터를 시뮬레이션하는 소프트웨어이다. 자바 가상 기계를 이용하면 하드웨어와 운영 체제를 프로그램으로부터 숨길 수 있다. 또한, 자바 가상 기계는 자바 컴파일러가 코드를 생성할 대상이 되는 추상화된 기계의 명세에 의하여 소프트웨어로 작성된다.


대부분의 프로그래밍 언어의 경우, 컴파일러에 의해 소스 코드 -> 기계어로 변환되어야 컴퓨터에서 실행할 수 있다. 그러나 자바 컴파일러는 특정한 컴퓨터를 위한 코드를 바로 생성하는 것이 아니라 자바 가상 기계(Java virtual machine)를 위한 바이트 코드(byte code)를 생성한다.


즉,

  

위와 같은 형태를 띄게 된다. 아래는 자바 실행 과정이다.



Hello.java (원본 파일)

Compiler

   Hello.class (바이트 코드)  

JVM 

  Hello(내용물)



Q) 자바 플랫폼(Platform)의 구성요소는 자바 가상 기계만 있는가?


A) 자바 플랫폼이란 프로그램이 실행되는 하드웨어(Hardware)나 소프트웨어(Software)의 환경을 뜻한다. 자바 플랫폼은 두 가지의 요소로 이루어져 있다.


- 자바 가상 기계 (JVM : Java Virtual Machine)

- 자바 응용 프로그래밍 인터페이스(API: Application Programming Interface)



Q) API란 무엇을 의미하는가?


A) 운영 체제(OS)나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 하여 응용 프로그램에서 사용할 수 있도록 만든 인터페이스이다. 파일 제어, 창 제어, 화상 처리, 문자 제어 등이 있다.



+ Recent posts