Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

JDK, JRE 및 JVM의 차이점.

<시간/>

세 가지 JDK, JRE 및 JVM은 모두 상호 의존적이며 공통점이 없으므로 표 형식으로 차이점을 기술하는 것은 효과적이지 않지만 다음 단락에서 이에 대해 논의합니다.

JVM

JVM은 Java 가상 머신의 약자로, 기본적으로 Java 바이트 코드가 실행될 수 있는 런타임 환경을 제공하는 사양입니다. 즉, 추상적이고 구현이 알고리즘 선택에 독립적이며 Sun 및 타사에서 제공되었습니다 . 바이트 코드를 기계 고유의 코드로 변환하는 역할을 하는 것은 JVM입니다. 다른 언어로 작성되고 Java 바이트 코드로 컴파일된 프로그램을 실행할 수도 있습니다. JVM은 코드 로드, 코드 검증, 코드 실행, 런타임 환경 제공과 같은 작업을 수행합니다.

JRE

JRE는 JVM의 구현인 Java 런타임 환경입니다. 즉, JVM에 정의된 사양이 구현되어 코드 실행을 위한 해당 환경을 생성합니다. JRE는 주로 Java 바이너리와 물리적으로 존재하는 JVM과 유사한 프로그램을 실행하기 위한 기타 클래스로 구성됩니다. Java 바이너리와 함께 JRE는 다양한 배포 기술, 실행된 코드와 상호 작용하기 위한 사용자 인터페이스, 다양한 기능 및 언어 및 유틸리티 기반 라이브러리에 대한 일부 기본 라이브러리로 구성됩니다.

JDK

JDK는 Java 프로그램을 컴파일, 디버그 및 실행하는 데 필요한 모든 도구, 실행 파일 및 바이너리를 포함하는 Java Development Kit의 약어입니다. JDK는 플랫폼에 따라 다릅니다. 즉, Windows, Mac 및 Unix 시스템용으로 별도의 설치 프로그램이 있습니다. JRE이며 코드 실행을 전적으로 책임집니다. Java의 버전을 나타내는 JDK의 버전입니다.

다음은 JDK, JRE 및 JVM의 중요한 차이점입니다.

Sr. 아니요.

JDK
JRE
JVM
1
정의
JDK(Java Development Kit)는 Java로 애플리케이션을 개발하기 위한 소프트웨어 개발 키트입니다. JRE 외에도 JDK에는 여러 개발 도구(컴파일러, JavaDoc, Java 디버거 등)도 포함되어 있습니다.
JRE(Java Runtime Environment)는 JVM을 구현한 것으로, Java 프로그래밍으로 작성된 애플리케이션을 실행하기 위한 Java Virtual Machine(JVM) 및 기타 구성 요소와 함께 Java 클래스 라이브러리를 제공하는 소프트웨어 패키지로 정의됩니다.
JVM(Java Virtual Machine)은 플랫폼에 따라 달라지는 추상 기계로, JVM 구현의 요구 사항, 구현, JVM 요구 사항을 충족하는 컴퓨터 프로그램 및 인스턴스, 구현의 요구 사항을 설명하는 문서인 사양으로 3가지 개념을 가지고 있습니다 자바 바이트 코드를 실행하는 자바 바이트 코드를 실행하기 위한 런타임 환경을 제공한다.
2
주요 기능
JDK는 주로 코드 실행에 사용되며 개발의 주요 기능을 가지고 있습니다.
반면에 JRE는 코드 실행을 위한 환경을 만드는 일을 주로 담당합니다.
JVM은 반면에 모든 구현을 지정하고 이러한 구현을 JRE에 제공할 책임이 있습니다.
3
플랫폼 독립
JDK는 플랫폼에 따라 다릅니다. 즉, 다른 플랫폼에 대해 다른 JDK가 필요합니다.
JDK와 마찬가지로 JRE도 플랫폼에 따라 다릅니다.
JVM은 플랫폼에 독립적입니다.
4
도구
JDK는 주요 개발을 담당하므로 Java 애플리케이션을 개발, 디버깅 및 모니터링하기 위한 도구가 포함되어 있습니다.
반면에 JRE에는 컴파일러나 디버거와 같은 도구가 포함되어 있지 않습니다. 오히려 JVM이 프로그램을 실행하는 데 필요한 클래스 라이브러리 및 기타 지원 파일을 포함합니다.
JVM에는 소프트웨어 개발 도구가 포함되어 있지 않습니다.
5
구현
JDK =JRE(Java Runtime Environment) + 개발 도구
JRE =JVM(Java Virtual Machine) + 애플리케이션을 실행하기 위한 라이브러리
JVM =자바 바이트 코드를 실행하기 위한 전용 런타임 환경.