본문 바로가기

Web Dev/Java Spring

JVM JRE JDK 개발하기 전에 좀 알고 가자

반응형

Java 언어 를 컴퓨터가 어떻게 인식하는지 ? 

 

컴퓨터는 기본적으로 0 과 1의 숫자 밖에 모르는 기계이다. 

그러면 사람이 쉽기 적을 수 있게 개발된 코딩 언어는 컴퓨터에게 다시 전부 0과 1이라는 숫자로 변경해줘야 한다. 

코딩 언어를  -> 0과1로 변경해주는 과정을 [ 컴파일 ] 이라고 한다. 

0과 1의 코드는 바이트 코드(바이너리 코드) 라고한다. 

[컴파일] 해주는 프로그램을 [컴파일러] 라고 한다. 

해당 바이트 코드의 경우 운영체제 마다 조합이 다르다. 

C 언어는  운영체제에 맞는 컴파일러가 따로 존재한다.  

자바는 좀 다른데 자바 컴파일러는 한개만 존재한다. 

한개의 컴파일러에서 바이너리 코드를 변환하면 

운영체제와 코드 사이에는 JVM 이라는 것이 존재한다. 

Window JVM  ,  Mac JVM  , Linux JVM 

운영체제 와 코드 사이에서 운영체제에 맞게 변환해준다. 

자바를 설치하면 함께 같이 설치 된다. 

장점 : 한번 빌드해 놓으면 모든 운영체제에서 사용이 가능하다 . 

그래서 JVM 인기가 상당해서 다른 언어에서도 많이 사용한다. 

 

JVM < JRE < JDK

JVM 는 JRE에 포함 되어있고 JRE 는 JDK 안에 포함되어 있다. 

 

JVM ( Java Virtual Machine) 

- OS 별로 존재한다. 

- 바이너리 코드를 읽고 검증하고 실행한다. 

 

JRE  (Java Runtime Enviroment) 

-자바 실행 환경의 약자 

- JRE = JVM + 자바 프로그램 실행에 필요한 라이브러리 파일 등

- JVM 의 실행 환경을 구현

 

JDK (Java Development Kit)

- 자바 개발 도구의 약자 

- JDK =JRE +개발을 위한 도구 

- 컴파일러, 디버그 도구 등이 포함

 

JDK 

https://jdk.java.net/21/

 

OpenJDK JDK 21.0.1 GA Release

OpenJDK JDK 21.0.1 General-Availability Release This page provides production-ready open-source builds of the Java Development Kit, version 21, an implementation of the Java SE 21 Platform under the GNU General Public License, version 2, with the Classp

jdk.java.net

계속 업그레이드 된  버전이 출시 된다. 

LTS  버전의 경우 오랫동안 지원을 해주는 버전인데 

해당 버전으로 공부하면 좋다. 

 

버전 말고 종류도 있다 . 

ORACLE 과  OpenJDK  그게 2개의 종류가 있다 . 

오라클의 경우는 개인에게 무료이고 기업용은 유료이다. 

OpendJDK의 경우 항시 누구나 무료로 사용할 수 있다. 

 

 

 

 

반응형