JDK, JRE 및 JVM의 차이점 인기있는 인터뷰 질문 중 하나입니다. JDK 대 JRE 대 JVM을 설명하라는 요청을받을 수도 있습니다.
JDK, JRE 및 JVM의 차이점
JDK, JRE 및 JVM은 Java 프로그래밍 언어의 핵심 개념입니다. 우리는 프로그래밍에서 이러한 개념을 사용하지 않습니다. 그러나 Java 개발자로서 우리는 이에 대해 알아야합니다.
JDK
Java Development Kit 일명 JDK는 Java 환경의 핵심 구성 요소이며 Java 프로그램을 컴파일, 디버그 및 실행하는 데 필요한 모든 도구, 실행 파일 및 바이너리를 제공합니다.
JDK는 플랫폼 별 소프트웨어이며 그렇기 때문에 Windows, Mac 및 Unix 시스템을위한 별도의 설치 프로그램이 있습니다.
JDK에는 JRE와 Java 컴파일러, 디버거 및 핵심 클래스가 포함되어 있으므로 JRE의 상위 집합이라고 말할 수 있습니다.
JVM
JVM은 Java 프로그래밍 언어의 핵심입니다. Java 프로그램을 실행할 때 JVM은 바이트 코드를 기계 별 코드로 변환합니다.
JVM은 또한 플랫폼에 따라 다르며 메모리 관리, 가비지 수집, 보안 등과 같은 핵심 Java 기능을 제공합니다.
JVM은 사용자 정의가 가능하며 Java 옵션을 사용하여 사용자 정의 할 수 있습니다. 예를 들어 최소 및 최대 메모리를 JVM에 할당합니다.
JVM은 기본에 의존하지 않는 인터페이스를 제공하기 때문에 가상이라고합니다. 운영 체제 및 기계 하드웨어.
하드웨어 및 운영 체제와의 이러한 독립성으로 인해 Java 프로그램은 한 번만 실행 가능합니다.
JRE
JRE는 JVM 구현. Java 프로그램을 실행할 수있는 플랫폼을 제공합니다. JRE는 모든 프로그램을 성공적으로 실행하기 위해 JVM, Java 바이너리 및 기타 클래스로 구성됩니다.
JRE에는 Java 컴파일러, 디버거, JShell 등과 같은 개발 도구가 포함되어 있지 않습니다.
Java 프로그램 만 실행하려면 JRE 만 설치할 수 있습니다. Java 소스 코드의 개발이나 컴파일이 필요하지 않기 때문에 JDK가 필요하지 않습니다.
이제 JDK, JVM 및 JRE에 대한 기본적인 이해를 마쳤으므로 이들의 차이점을 살펴 보겠습니다.
JDK vs JRE vs JVM
JDK, JRE 및 JVM의 중요한 차이점을 살펴 보겠습니다.
- JDK는 개발 용입니다. JRE는 자바 프로그램을 실행하기위한 것입니다.
- JDK와 JRE는 모두 자바 프로그램을 실행할 수 있도록 JVM을 포함하고 있습니다.
- JVM은 자바 프로그래밍 언어의 핵심이며 플랫폼 독립성을 제공합니다. .
JIT (Just-in-time Compiler)
때로는 교과서에서 JVM, JDK 및 JRE와 함께 JIT를 찾을 수 있습니다. JIT는 바이트 코드를 기계 별 언어로 변환하는 프로세스를 최적화하는 JVM의 일부입니다. 유사한 바이트 코드를 동시에 컴파일하고 바이트 코드를 기계 별 언어로 컴파일하는 데 걸리는 전체 시간을 줄입니다.