My Blog

[영상 후기] - 자바를 알아보자 (+ JVM, JRE, JDK의 정체) 본문

개발 관련 영상 후기

[영상 후기] - 자바를 알아보자 (+ JVM, JRE, JDK의 정체)

JAESG 2023. 5. 17. 15:53

https://www.youtube.com/watch?v=OxvtGYvVkRU&t=35s 

컴파일과 인터프리터의 차이

 

내가 짠 코드를 컴파일해서 컴퓨터에게 실행시키는 것은 컴파일이 되는 언어

내가 짠 코드를 그대로 컴퓨터에게 넘겨줘서 그 코드를 실시간으로 인터프리터 하는 것이 인터프리트 되는 언어이다.

 

자바나 C는 컴파일 언어이다.

근데 둘은 차이가 있다.

 

C나 C++로 짠 코드를 컴파일해서 맥,리눅스,윈도우에 보내려고하면 이것들을 각 운영체제의 맞게 따로따로 컴파일을 해야했음.

 

근데 자바는 다른 방식을 채택함.

실행할 컴퓨터에 JVM을 깐다.

JVM은 자기가 속한 운영체제의 기계어, 자바 바이트코드를 할 수 있음.

예측할수 있겠지만 자바는 컴파일을 '자바 바이트코드로' 컴파일을 진행함

따라서 자바를 사용하면 운영체제에 JVM이 자바 바이트코드를 읽고 그 운영체제에 맞게 실행을 시킴

 

이 JVM은 다른 언어에서 쓸 수 있게 해놨는데

코틀린, 스칼라, 그루비, Clojure 등 몇몇 언어들에서도 사용할 수 있다.

이 언어들도 자바 바이트코드로 컴파일 되도록 만들어졌기 때문임.

 

그래서 스프링부트나 안드로이드에서 코틀린을 사용할 수 있는것임

 

그럼 JRE JDK는 뭘까?

JRE는 자바에 필요한 라이브러리이다. System.out.println등등

그 외에 각종 설정파일 등 자바 바이트코드의 실행에 필요한 몇몇 요소들이 JRE에 포함됨.

 

예전에는 JRE만 다운 받게 끔 제공을 했었는데 이제는 JDK안에 JRE가 포함돼서 따로 나누지 않고 JDK안에 속해있다

그럼 JDK는 뭐냐

 

JDK는 자바 개발 키트이다.

개발자가 자바로 프로그래밍하는 전 과정을 도와주는 자바 코드 제작 키트라고 생각하면 됨.

자바 버전에는 LTS라고 있는데

이 LTS는 각잡고 만든 빅맥, 와퍼, 등 스테디셀러들이라고 생각하면된다.

오래 쓰라고 만든 버전들임.

업이트나 보안 수정이 장기간 제공되기 때문에 실무에서 개발할 때는 안정적인 LTS버전을 사용함.

728x90
Comments