Forskjellen mellom JDK, JRE og JVM er et av de populære intervjuspørsmålene. Du kan også bli bedt om å forklare JDK vs JRE vs JVM.
Forskjellen mellom JDK, JRE og JVM
JDK, JRE og JVM er kjernebegreper i Java-programmeringsspråk. Vi bruker ikke disse konseptene i programmering. Men som Java-utvikler bør vi vite om dem.
JDK
Java Development Kit aka JDK er kjernekomponenten i Java Environment og gir alle verktøy, kjørbare filer og binære filer som kreves for å kompilere, feilsøke og utføre et Java-program.
JDK er en plattformspesifikk programvare og det er derfor vi har separate installatører for Windows-, Mac- og Unix-systemer.
Vi kan si at JDK er supersettet til JRE, siden det inneholder JRE med Java-kompilator-, feilsøkings- og kjerneklasser.
JVM
JVM er hjertet i Java-programmeringsspråk. Når vi kjører et Java-program, er JVM ansvarlig for å konvertere bytekoden til den maskinspesifikke koden.
JVM er også plattformavhengig og gir kjernefunksjoner i Java, som minnehåndtering, søppelinnsamling, sikkerhet osv.
JVM kan tilpasses, og vi kan bruke Java-alternativer for å tilpasse det. For eksempel, tildele minimum og maksimum minne til JVM.
JVM kalles virtuelt fordi det gir et grensesnitt som ikke er avhengig av den underliggende operativsystem og maskinvare.
Denne uavhengigheten fra maskinvare og operativsystem gjør at java-program skrives en gang-kjøres hvor som helst.
JRE
JRE er implementering av JVM. Det gir en plattform for å utføre java-programmer. JRE består av JVM, Java-binærfiler og andre klasser for å utføre et vellykket program.
JRE inneholder ikke noen utviklingsverktøy som Java-kompilator, feilsøking, JShell osv.
Hvis du bare vil kjøre et Java-program, kan du bare installere JRE. Du trenger ikke JDK fordi det ikke er behov for utvikling eller kompilering av Java-kildekode.
Nå som vi har en grunnleggende forståelse av JDK, JVM og JRE, la oss se på forskjellen mellom dem.
JDK vs JRE vs JVM
La oss se på noen av de viktige forskjellene mellom JDK, JRE og JVM.
- JDK er for utviklingsformål mens JRE er for å kjøre java-programmene.
- JDK og JRE inneholder begge JVM slik at vi kan kjøre java-programmet vårt.
- JVM er hjertet i java-programmeringsspråket og gir plattformuavhengighet .
Just-in-time kompilator (JIT)
Noen ganger finner du JIT ved siden av JVM, JDK og JRE i lærebøker. JIT er en del av JVM som optimaliserer prosessen med å konvertere byte-kode til maskinspesifikt språk. Den kompilerer like bytekoder samtidig og reduserer den totale tiden det tar å kompilere bytekode til maskinspesifikt språk.