코딩과 결혼합니다

자바를 공부하기에 앞서 JDK, JRE, JVM 이란? 본문

2세/Java

자바를 공부하기에 앞서 JDK, JRE, JVM 이란?

코딩러버 2023. 5. 15. 17:09
728x90

 Java라는 언어를 컴퓨터가 어떻게 알아먹는지?

 

코드를 입력한 후에 실행 버튼을 누르면 영어로 적었던 코드가 0과1로 바뀌고 그 바뀐 코드를 컴퓨터가 읽는 방식.

 

 

컴파일 : 인간의 언어로 되어있는 코드를 기계어(0과1)로 바꾸어 주는 과정
바이트 코드 (바이너리 코드) :0과 1로 바뀐 코드 
바이트 : 0과 1을 나타내는 단위
컴파일러 : 컴파일을 하는 프로그램

 

*0과 1의 조합은 운영체제(OS)마다 다르다 윈도우, 맥, 리눅스에 상응하는 컴파일러를 각각 가지고 있어야한다.

 

하지만 Java는 하나의 컴파일러가 있고 이 코드가 바로 OS로 가는게 아니라 Windows의 JVM,
MAC의 JVM,
Linux 의 JVM 이렇게 각각의 JVM한테 간다.

 

 

 

 

JDK, JRE, JVM 이란?

 

JVM : 0과 1 운영체제 사이에서 둘을 호환시켜주는 역할을 함

 

그래서 JAVA를 한 번만 결과물을 만들어 놓으면 어떤 운영체제에서 실행을 시켜도 똑같은 결과가 나온다.
-JVM의 인기가 상당해서,JAVA 외에 다른 언어에서도 사용하고 있다.(그루비, 스칼라, 코틀린)
*JVM은 똑같은 JAVA 바이트 코드를 OS 마다 다르게 해석해주는 것

 

 

 

 

JDK > JRE > JVM

 

JVM 
-자바 가상 머신의 약자
 (Java Virtual Machine)
-OS 별로 존재한다.
- 바이너리 코드를 읽고 검증하고 실행한다.

JRE
-자바 실행 환경의 약자
(Java Runtime Environment)
-JRE = JVM + 자바 프로그램
실행에 필요한 라이브러리 파일 등
-JVM의 실행환경을 구현

JDK
-자바 개발 도구의 약자
(Java Development Kit)
-JDK = JRE + 개발을 위한 도구
-컴파일러, 디버그 도구 등이 포함

JDK를 설치하면 JRE와 JVM도 함께 설치된다.
따라서 JAVA의 버전 = JDK의 버전이 된다.

LTS 3년 4년이면 중단될 버전이 아니라 좀 더 길게 사용가능 할 수 있는 버전

 

 

 

 

 

 

 

 

여기서 공부했어용 ㅎㅎ > : https://www.youtube.com/watch?v=f0cAmTYo4tQ (공부하는 개발자)

'2세 > Java' 카테고리의 다른 글

객체지향언어(1) 클래스, 인스턴스, 메소드  (0) 2023.05.16
java 반복문  (0) 2023.05.15
java 조건문  (0) 2023.05.15
자료형  (0) 2023.05.15
빌드와 실행, Java의 빌드 툴  (0) 2023.05.15