JDK 대 JRE 대 JVM Java – 그들 사이의 차이점

JDK, JRE 및 JVM의 주요 차이점

  • JDK는 소프트웨어 개발 키트인 반면, JRE는 다음을 허용하는 소프트웨어 번들입니다. Java 프로그램을 실행하는 반면 JVM은 바이트코드를 실행하는 환경입니다.
  • JDK의 전체 형태는 다음과 같습니다. Java 개발 키트(JRE의 전체 형태는 Java 런타임 환경이지만 JVM의 전체 형태는 다음과 같습니다. Java 가상 기기.
  • JDK와 JRE는 플랫폼에 따라 달라지지만, JVM은 바이트코드 수준에서는 플랫폼에 독립적이지만 플랫폼별 구현에 따라 달라집니다.
  • JDK에는 개발, 디버깅 등을 위한 도구가 포함되어 있습니다. JRE에는 클래스 라이브러리 및 기타 지원 파일이 포함되어 있지만 소프트웨어 개발 도구는 JVM에 포함되어 있지 않습니다.
  • JDK는 설치 프로그램과 함께 제공되는 반면, JRE는 소스 코드를 실행하는 환경만 포함하는 반면 JVM은 소프트웨어 JDK와 JRE 모두에 번들로 제공됩니다.

JDK란 무엇입니까?

JDK는 애플릿을 만드는 데 사용되는 소프트웨어 개발 환경입니다. Java 응용 프로그램. JDK의 전체 형태는 다음과 같습니다. Java 개발 키트. Java 개발자는 그것을 사용할 수 있습니다 Windows, macOS, Solaris, 그리고 리눅스. JDK는 코딩과 실행을 돕습니다. Java 프로그램. 동일한 컴퓨터에 둘 이상의 JDK 버전을 설치할 수 있습니다.

JRE란 무엇입니까?

JRE는 다른 소프트웨어를 실행하도록 설계된 소프트웨어입니다. 여기에는 클래스 라이브러리, 로더 클래스 및 JVM이 포함됩니다. 간단히 말해서, 달리고 싶다면 Java JRE가 필요한 프로그램입니다. 프로그래머가 아니라면 그럴 필요가 없습니다. JDK 설치, 하지만 JRE만 실행하려면 Java 프로그램. 그러나 모든 JDK 버전은 다음과 함께 번들로 제공됩니다. Java Runtime Environment를 제공하므로 PC에 JRE를 별도로 다운로드하여 설치할 필요가 없습니다. JRE의 전체 형태는 다음과 같습니다. Java 런타임 환경.

JVM이란 무엇입니까?

JVM은 런타임 환경을 제공하는 엔진입니다. Java 코드 또는 애플리케이션. 그것은 변환한다 Java 바이트코드를 기계어로 변환합니다. JVM은 다음의 일부입니다. Java 실행 환경(JRE). 별도로 다운로드하여 설치할 수 없습니다. JVM을 설치하려면 JRE를 설치해야 합니다. JVM의 전체 형태는 다음과 같습니다. Java 가상 기기.

다른 많은 프로그래밍 언어에서 컴파일러는 특정 시스템에 대한 기계어 코드를 생성합니다. 하지만, Java 컴파일러는 JVM이라는 가상 머신용 코드를 생성합니다.

JDK를 사용하는 이유는 무엇입니까?

JDK를 사용하는 중요한 이유는 다음과 같습니다.

  • JDK에는 작성에 필요한 도구가 포함되어 있습니다. Java 프로그램 및 JRE를 실행합니다.
  • 컴파일러가 포함되어 있으며, Java 애플리케이션 런처, Appletviewer 등
  • 컴파일러는 작성된 코드를 변환합니다. Java 바이트 코드로.
  • Java 응용 프로그램 시작 관리자는 JRE를 열고 필요한 클래스를 로드한 다음 해당 기본 메서드를 실행합니다.

왜 JRE를 사용하나요?

JRE를 사용하는 중요한 이유는 다음과 같습니다.

  • JRE에는 클래스 라이브러리, JVM 및 기타 지원 파일이 포함되어 있습니다. 여기에는 어떤 도구도 포함되어 있지 않습니다. Java 디버거, 컴파일러 등과 같은 개발
  • math, swingetc, util, lang, awt, runtime 라이브러리와 같은 중요한 패키지 클래스를 사용합니다.
  • 달려야 한다면 Java 애플릿을 사용하려면 시스템에 JRE를 설치해야 합니다.

왜 JVM인가?

JVM을 사용하는 중요한 이유는 다음과 같습니다.

  • JVM은 플랫폼 독립적인 실행 방법을 제공합니다. Java 소스 코드.
  • 수많은 라이브러리, 도구 및 프레임워크가 있습니다.
  • 일단 실행하면 Java 프로그램을 사용하면 모든 플랫폼에서 실행할 수 있으며 많은 시간을 절약할 수 있습니다.
  • JVM에는 JIT(Just-in-Time) 컴파일러가 포함되어 있습니다. Java 소스 코드를 저수준 기계어로 변환합니다. 따라서 일반 응용 프로그램보다 더 빠르게 실행됩니다.

JDK의 특징

JDK의 중요한 기능은 다음과 같습니다.

  • 단일 catch 블록에서 여러 확장을 처리할 수 있습니다.
  • JDK에는 JRE의 모든 기능이 포함되어 있습니다.
  • 컴파일러, 디버거 등과 같은 개발 도구가 포함되어 있습니다.
  • JDK는 개발하고 실행할 수 있는 환경을 제공합니다. Java 소스 코드.
  • 그것은에 설치될 수 있습니다 Windows, Unix, Mac 운영 체제.
  • 다이아몬드 연산자는 정확한 인터페이스를 작성하는 대신 일반적인 형식 인터페이스를 지정하는 데 사용할 수 있습니다.

JRE의 특징

JRE의 중요한 기능은 다음과 같습니다.

  • Java Runtime Environment는 JVM이 실제로 실행되는 데 사용되는 도구 세트입니다.
  • JRE에는 다음을 포함한 배포 기술이 포함되어 있습니다. Java 웹스타트와 Java 플러그인.
  • 개발자는 JRE에서 소스 코드를 쉽게 실행할 수 있지만 소스 코드를 작성하고 컴파일할 수는 없습니다. Java 프로그램)
  • 여기에는 다음과 같은 통합 라이브러리가 포함됩니다. Java 데이터베이스 연결(JDBC), 원격 메소드 호출(RMI), Java JNDI(네이밍 및 디렉토리 인터페이스) 등.
  • JRE에는 JVM이 있고 Java HotSpot 가상 머신 클라이언트.

JVM의 특징

JVM의 중요한 기능은 다음과 같습니다.

  • 이를 통해 클라우드 환경이나 장치에서 애플리케이션을 실행할 수 있습니다.
  • Java 가상 머신은 바이트 코드를 머신별 코드로 변환합니다.
  • 메모리 관리, 보안, 가비지 수집 등과 같은 기본 Java 기능을 제공합니다.
  • JVM은 다음에서 제공하는 라이브러리와 파일을 사용하여 프로그램을 실행합니다. Java 런타임 환경.
  • JDK와 JRE는 모두 다음을 포함합니다. Java 가상 기기.
  • Java 프로그램을 한 줄씩 실행할 수 있으므로 인터프리터라고도 합니다.
  • JVM은 쉽게 사용자 정의할 수 있습니다. 예를 들어 최소 및 최대 메모리를 할당할 수 있습니다.
  • 하드웨어와 운영 체제에 독립적입니다. 따라서 Java 프로그램을 한 번만 작성하면 어디에서나 실행할 수 있습니다.

JDK는 어떻게 작동하나요?

JDK 기능
JDK 기능

JDK의 중요한 구성 요소는 다음과 같습니다.

  • JDK 및 JRE: JDK를 사용하면 프로그래머는 코어를 생성할 수 있습니다. Java JVM 및 클래스 라이브러리가 포함된 JRE에서 실행할 수 있는 프로그램입니다.
  • 클래스 라이브러리: 동적으로 로드할 수 있는 라이브러리 그룹입니다. Java 프로그램은 런타임에 호출할 수 있습니다.
  • 컴파일러: 그것은 Java 개발자의 텍스트 파일을 받아 다음으로 컴파일하는 프로그램 Java 클래스 파일. 이는 컴파일러가 제공하는 일반적인 출력 형식이며 다음을 포함합니다. Java 바이트 코드. ~ 안에 Java, 기본 컴파일러는 다음과 같습니다. Javac.
  • 디버거: 디버거는 Java 개발자가 테스트하고 디버그할 수 있는 프로그램 Java 프로그램.
  • Java문서: JavaDoc은 Sun Microsystems에서 만든 문서입니다. Java. JavaDoc은 소스 프로그램에서 HTML 파일로 API 문서를 생성하는 데 사용할 수 있습니다.

JRE는 어떻게 작동하나요?

JRE 기능

JRE 기능

JRE에는 JVM 인스턴스, 라이브러리 클래스 및 개발 도구가 있습니다. 일단 작성하고 컴파일하면 Java 코드가 있으면 컴파일러는 바이트 코드가 있는 클래스 파일을 생성합니다.

JRE의 중요한 구성요소는 다음과 같습니다.

  • 클래스 로더: 클래스 로더는 실행에 필요한 다양한 클래스를 로드합니다. Java 프로그램. JVM은 부트스트랩 클래스 로더, 확장 클래스 로더 및 시스템 클래스 로더라는 세 가지 클래스 로더를 사용합니다.
  • 바이트 코드 검증기: 바이트 코드 검증기는 코드가 인터프리터를 방해하지 않도록 바이트 코드를 검증합니다.
  • 통역사: 클래스가 로드되고 코드가 확인되면 인터프리터는 코드를 한 줄씩 읽습니다.
  • 실행 시간: 런타임은 특정 프로그램이 실행되는 기간을 설명하기 위해 프로그래밍에서 주로 사용되는 시스템입니다.
  • 하드웨어: 일단 컴파일하면 Java 네이티브 코드는 특정 하드웨어 플랫폼에서 실행됩니다.

이 방법으로, Java 프로그램은 JRE에서 실행됩니다.

JVM은 어떻게 작동하나요?

JVM 기능

JVM 기능

JVM의 중요한 구성 요소는 다음과 같습니다.

1) 클래스 로더

클래스 로더는 클래스 파일을 로딩하는 데 사용되는 하위 시스템입니다. 로딩, 링크, 초기화의 세 가지 주요 기능을 수행합니다.

2) 방법 영역

JVM 메소드 영역은 메타데이터와 같은 클래스 구조를 저장합니다. Java 메서드 및 상수 런타임 풀.

3) 힙

모든 개체, 배열 및 인스턴스 변수는 힙에 저장됩니다. 이 메모리는 여러 스레드에서 공유됩니다.

4) JVM 언어 스택

Java 언어 스택은 지역 변수와 해당 부분 결과를 저장합니다. 각각의 모든 스레드에는 스레드가 생성될 때 동시에 생성되는 자체 JVM 언어 스택이 있습니다. 메소드가 호출되면 새로운 프레임이 생성되고 메소드 호출 프로세스가 완료되면 제거됩니다.

5) PC 레지스터

PC 레지스터는 주소를 저장합니다. Java 현재 실행 중인 가상 머신 명령입니다. ~ 안에 Java, 각 스레드에는 별도의 PC 레지스터가 있습니다.

6) 네이티브 메소드 스택

네이티브 메소드 스택은 네이티브 라이브러리에 따라 네이티브 코드의 명령을 보유합니다. 기본 힙에 메모리를 할당하거나 모든 유형의 스택을 사용합니다.

7) 실행 엔진

소프트웨어, 하드웨어 또는 전체 시스템을 테스트하는 데 사용되는 소프트웨어 유형입니다. 테스트 실행 엔진은 테스트된 제품에 대한 어떠한 정보도 전달하지 않습니다.

8) 네이티브 메소드 인터페이스

기본 메소드 인터페이스는 프로그래밍 프레임워크입니다. 그것은 허용한다 Java 라이브러리 및 기본 애플리케이션에서 호출하기 위해 JVM에서 실행되는 코드입니다.

9) 네이티브 메소드 라이브러리

네이티브 라이브러리는 네이티브 라이브러리(C, C++), 이는 실행 엔진에 필요합니다.

JDK, JRE 및 JVM의 차이점

JDK, JRE, JVM의 주요 차이점은 다음과 같습니다.

JDK JRE JVM
JDK의 전체 형태는 다음과 같습니다. Java 개발 키트. JRE의 전체 형태는 다음과 같습니다. Java 런타임 환경. JVM의 전체 형태는 다음과 같습니다. Java 가상 기기.
JDK는 애플리케이션을 개발하기 위한 소프트웨어 개발 키트입니다. Java. 제공하는 소프트웨어 번들입니다. Java 실행에 필요한 구성 요소가 포함된 클래스 라이브러리 Java 암호. JVM이 실행됩니다. Java 바이트코드를 생성하고 이를 실행하기 위한 환경을 제공합니다.
JDK는 플랫폼에 따라 다릅니다. JRE는 플랫폼에 따라 다릅니다. JVM은 플랫폼에 독립적이다.
여기에는 Java 코드를 개발, 디버깅 및 모니터링하기 위한 도구가 포함되어 있습니다. 여기에는 JVM이 프로그램을 실행하는 데 필요한 클래스 라이브러리 및 기타 지원 파일이 포함되어 있습니다. 소프트웨어 개발 도구는 JVM에 포함되어 있지 않습니다.
JRE의 상위 집합입니다. JDK의 하위 집합입니다. JVM은 JRE의 하위 집합입니다.
JDK를 사용하면 개발자가 다음을 만들 수 있습니다. Java JRE 및 JVM에서 실행하고 실행할 수 있는 프로그램입니다. JRE는 다음의 일부입니다. Java JVM을 생성하는 것입니다. 그것은이다 Java 소스 코드를 실행하는 플랫폼 구성 요소입니다.
JDK는 설치 프로그램과 함께 제공됩니다. JRE에는 소스 코드를 실행하는 환경만 포함되어 있습니다. JVM은 소프트웨어 JDK와 JRE 모두에 번들로 제공됩니다.

이 게시물을 요약하면 다음과 같습니다.