본문 바로가기

공부 정리

JDK, JRE

반응형

개요


JDK, JRE는 자바 프로그램밍을 위해서 꼭 설치해야하는 라이브러리의 일종입니다. 해당 라이브러리의 차이점과 개념을 알아보도록 하겠습니다.

 

JDK JRE JVM
Java Development Kit Java Runtime Environment Java Virtual Machine
컴파일, 문서화, 자바 프로그램 패키지에 필요한 도구이다.

It is the tool necessary to compile, document and package Java programs.
자바 바이트코드가 실행되는 런타임 환경이다.

JRE refers to a runtime environment in which Java bytecode can be executed.
추상화 머신. 자바 바이트코드가 실행되는 런타임 환경을 제공하는 특별기능을 한다.

It is an abstract machine. It is a specification that provides a run-time environment in which Java bytecode can be executed.
JRE와 개발 도구들을 포함한다.

It contains JRE + development tools.
물리적으로 존재하는 JVM의 구현체

It’s an implementation of the JVM which physically exists.
JVM follows three notations: Specification, Implementation,  Runtime Instance.

 

JDK

 

 

JRE(Java Runtime Environment)


 JVM의 구현체이며, 특히 자바 프로그램을 실행하는 환경을 제공하기 위해 설계되었습니다. 또한 JDK같은 플랫폼에 종속적입니다. 구성요소는 JVM, 자바 바이너리, 프로그램 실행을 위한 클래스입니다. 컴파일러, 디버거 같은 어떠한 개발도구도 포함되지 않습니다. 만약에 프로그램을 단지 실행만 시키고 싶다면, JDK 없이 JRE만 있어도 됩니다. 코드 실행에 어떠한 개발이나 컴파일이 필요하지 않기 때문입니다.

 

 

JDK(Java Development Kit)


 자바 어플리케이션을 개발하기 위한 소프트웨어 개발 환경입니다. 플랫폼-구현 소프트웨로, 윈도우, 맥, 유닉스 등의 환경을 위한 별도의 설치파일이 있습니다. 자바 개발자들은 코드를 개발하고 자바 프로그램을 실행하기 위해서 각 환경에서 JDK를 이용합니다. JDK 는 JRE와 인터프리터, 컴파일러, 문서 생성기 같은 개발도구를 포함합니다. 같은 컴퓨터에 1개 이상의 JDK를 설치할 수 있습니다.

 

짧게 다음과 같이 정의 할 수 있습니다.

 

JDK = JRE + Development Tools(compilers, JavaDoc, Java Debugger)

 

 

JRE

 

 

JRE는 JVM + 라이브러리 + 기타 클래스 3개로 구성되어 있습니다.

 

 

다이어그램

 

 

JDK, JRE 모두 JVM 환경에서 작동하며, JRE에서 개발도구가 추가되어야 JDK가 됩니다.

 

 

* 참고

 

Difference Between JDK and JRE in Java

 

 

반응형

'공부 정리' 카테고리의 다른 글

다형성 / Up-casting & Down-casting  (0) 2020.07.20
Wrapper class / Integer cache pool  (0) 2020.07.17
Override vs Overload  (0) 2020.07.17
Java Heap vs Stack (Memory Allocation)  (0) 2020.07.15
equals vs == (string pool)  (0) 2020.07.14