본문 바로가기
Language/Java

[Java] 자바기초 - JVM/JDK/JRE

by J4J 2020. 12. 6.
300x250
반응형

안녕하세요. J4J입니다.

 

이번 포스팅은 자바를 이용하여 프로그래밍을 하기 위한 필수적인 환경 요소들에 대해 적어보는 시간을 가져보려고 합니다.

 

 

 

저도 프로그래밍을 시작한 지 오래되지는 않았지만 자바를 사용하여 주로 프로그래밍을 해왔습니다.

하지만 JVM/JDK/JRE을 들어는 봤지만 어떤 역할을 수행하는지는 자세히 알지 못하고 있었습니다.

 

그렇기에 포스팅을 하면서 이들의 역할들에 대해 간단히 알아보고자 합니다.

 

JVM이란?

 

JVM은 Java Virtual Machine의 약자로 아는 것이 많으신 위키백과님에 따르면 자바 바이트코드를 실행할 수 있는 주체이다 라고 말씀을 하십니다.

 

그럼 여기서 또 궁금한 것이 생깁니다. 바이트코드가 무엇이죠?

 

바이트코드는 작성된 코드들을 컴퓨터에서 읽고 해석하기 위한 목적으로 컴파일러에 의해 코드들이 1바이트의 이진 표현법으로 변환된 코드들을 의미합니다.

 

깊이 들어가는 것은 여기까지만 하도록 하고 다시 본론으로 돌아오면 JVM의 역할은 사람들이 작성한 코드들을 읽지 못하는 컴퓨터가 코드들을 읽을 수 있도록 변환된 코드들을 해석해주는 역할을 수행한다고 말할 수 있습니다.

 

또한 바이트코드를 해석할 때 사용자의 운영체제(OS)에 맞게 해석하여 어떤 OS에서든 실행 가능하도록 하여 독립적인 플랫폼을 갖도록 해줍니다.

 

 

JDK란?

 

JDK는 Java Development Kit의 약자로 이번엔 위키백과님 친구인 나무위키님에 따르면 자바 환경에서 돌아가는 프로그램을 개발하는데 필요한 툴들을 모아놓은 소프트웨어 패키지이다 라고 말씀을 하십니다.

 

JDK에 담아져 있는 여러 개발 툴들 중 그나마 제가 알고 있는 것들은 다음의 것들이 있었습니다.

 

  • javac: 자바 소스코드를 바이트코드로 변환해주는 자바 컴파일러
  • javadoc: 자바 소스코드에서 사용되는 주석을 이용하여 자동으로 문서화해주는 툴
  • jar: 프로젝트 내에 들어있는 여러 자바 파일들을 하나의 파일로 묶어주는 툴

 

 

JRE란?

 

JRE는 Java Runtime Environment의 약자로 자바의 프로그래밍 툴 및 배포 기술을 제공해주는 역할을 수행합니다.

 

JRE는 JDK의 일부에 속하며 다운로드를 할 때도 오라클에서 친절하게 JDK를 설치할 때 JRE가 포함되어 있다고 설명까지 해주고 있습니다.

 

또한 JRE는 JVM, Java 클래스 라이브러리, Java 클래스 로더로 구성되어 있다고 합니다.

 

 

 

 

이상으로 JVM/JDK/JRE에 대해 간단하게 알아보는 시간이었습니다.

 

읽어주셔서 감사합니다.

728x90
반응형

'Language > Java' 카테고리의 다른 글

[Java] 자바기초 - Wrapper Class  (0) 2020.12.13
[Java] 자바기초 - 형 변환(Promotion/Casting)  (0) 2020.12.11
[Java] 자바기초 - 자료형  (2) 2020.12.10
[Java] 자바기초 - 입/출력  (0) 2020.12.08
[Java] 자바기초 - IDE  (0) 2020.12.06

댓글