자바

[Java] 자바 동작 (JVM? JDK?)

menuhwang 2022. 9. 20. 16:59

자바


자바는 mac os, Windows, Linux 등의 다양한 운영체제에서 실행 가능하다. (feat. JVM)

 

 

 

컴파일


사람이 작성한 소스코드(자연어)를 컴퓨터가 이해할 수 있는 기계어로 변환하는 과정

 

컴파일해주는 도구를 "컴파일러"라고 한다.

 

 

 

JVM


 JVM : Java Virtual Machine

 

하나의 자바 소스코드를 여러 OS에서 실행할 수 있는 이유.

 

JVM이 여러 OS에 맞게 구현되어 각각의 OS에서 실행 가능한 기계어로 변환한다. 따라서 Java는 다양한 OS에서 실행 가능하다.

 

OS에 맞는 JDK(or JRE)를 설치해야 한다.

 

 

자바 파일이 실행되기까지 과정

 

 

1. 자바 소스 코드를 컴파일러가 바이트 코드(클래스 파일)로 변환한다.

2. 바이트 코드를 JVM이 읽어와 기계어로 변환한다.

 

 

다른 언어의 경우 컴파일러가 소스 코드를 기계어로 변환하는 반면에, 자바의 경우 기계어로 바로 변환하는 것이 아니라 바이트 코드(클래스 파일)로 변환한다.
JVM은 실행 진입점인 main() 메서드를 찾아 순서에 맞게 실행하게 된다.

 

 

 

JDK, JRE


JDK : Java Development Kit (자바 개발 도구)

  자바를 활용해서 개발할 수 있도록 도구를 제공.

 

JRE : Java Runtime Enviornment (자바 실행 환경)

  자바 프로그램을 실행하기 위한 환경을 제공.