Java/개념

자바가 구동되는 방식

태감새 2022. 12. 6. 13:08

목차

- 컴퓨터는 어떻게 코드를 이해할까?

- JDK, JRE, JVM

 


1. 컴퓨터는 어떻게 코드를 이해할까?

우리가 컴퓨터에 코드를 입력하면 어떻게 컴퓨터는 이해하고 실행하는지 과정을 살펴보겠다.

 

- 우선, 컴퓨터는 0과 1만 인식할 수 있는 존재다. 코드는 인간의 언어를 기반으로 구성되어 있으므로 0과 1의 바이너리 코드로 변경해야 컴퓨터가 이해할 수 있다. 이 변환 과정을 컴파일 이라 하고 컴파일을 실행시켜주는 주체를 컴파일러라 한다.

* 컴파일 : 코드를 바이너리 코드로 변경하는 것

* 컴파일러 : 컴파일을 해주는 주체

컴파일 과정

 

- 하지만 운영체제(OS)마다 바이너리 코드를 해석하는 방식이 다르다. 그래서 컴파일을 통해 바이너리 코드로 변환시킨다 하더라도 특정 OS에서만 작동하고 다른 OS에서는 작동하지 않는다. 

 

- 이 문제를 해결하기 위해 두 가지 방법이 존재한다

첫째. 각 OS에 맞게 따로 컴파일러를 만든다.

둘째. 컴파일된 파일을 해석하는 프로그램을 만든다.

좌) 첫째 방법, 우) 둘째 방법

자바는 두 번째 방법을 택해서 다른 OS에서도 구동이 가능하게 한다. 이 방법의 장점은 컴파일된 파일이 같으므로 다른 OS에서도 해석 프로그램만 설치하면 구동이 가능하다는 것이다. 그리고 이 해석프로그램을 JMV라고 한다.

2. JDK, JRE, JVM

서로의 관계

* JVM : Java Virtual Machine. OS별로 따로 존재하며 바이너리 코드를 읽고 검증하고 실행한다.

* JRE : Java Runtime Enviroment . JVM + 자바 실행에 필요한 라이브러리

* JDK : Java Development Kit. JRE + 개발을 위한 도구(컴파일러, 디버그 도구 등)

즉, JDK를 설치하면 한 번에 다 설치하는 것과 같다. 

 

- 자바 버전 중 LTS?

LTS : Long Time Support. 지원이 오래 되는 버전.


참고 : https://www.youtube.com/watch?v=f0cAmTYo4tQ

'Java > 개념' 카테고리의 다른 글

7장 문제풀이  (0) 2022.12.25
Ch5. 배열  (0) 2022.12.06
Ch.4 조건문과 반복문  (0) 2022.12.06
Ch3. 연산자  (0) 2022.12.04
Ch2. 변수  (0) 2022.12.04