Forskellen mellem JDK, JRE og JVM er et af de populære interviewspørgsmål. Du bliver muligvis også bedt om at forklare JDK vs JRE vs JVM.
Forskel mellem JDK, JRE og JVM
JDK, JRE og JVM er kernebegreber i Java-programmeringssprog. Vi bruger ikke disse begreber til programmering. Men som Java-udvikler skal vi vide om dem.
JDK
Java Development Kit aka JDK er kernekomponenten i Java-miljøet og leverer alle de værktøjer, eksekverbare filer og binære filer, der kræves til at kompilere, debugge og udføre et Java-program.
JDK er en platformsspecifik software og Derfor har vi separate installationsprogrammer til Windows-, Mac- og Unix-systemer.
Vi kan sige, at JDK er supersættet til JRE, da det indeholder JRE med Java-kompilator-, debugger- og kerneklasser.
JVM
JVM er hjertet i Java-programmeringssprog. Når vi udfører et Java-program, er JVM ansvarlig for at konvertere bytekoden til den maskinspecifikke kode.
JVM er også platformafhængig og leverer centrale java-funktioner såsom hukommelsesadministration, affaldssamling, sikkerhed osv.
JVM kan tilpasses, og vi kan bruge java-indstillinger til at tilpasse det. For eksempel tildeler minimum og maksimal hukommelse til JVM.
JVM kaldes virtuel, fordi den giver en grænseflade, der ikke afhænger af den underliggende operativsystem og maskinhardware.
Denne uafhængighed af hardware og operativsystemet får java-programmet til at skrives en gang-køre hvor som helst.
JRE
JRE er implementering af JVM. Det giver en platform til at udføre java-programmer. JRE består af JVM, Java-binære filer og andre klasser for at udføre ethvert program med succes.
JRE indeholder ikke nogen udviklingsværktøjer som Java-kompilator, fejlretning, JShell osv.
Hvis du bare vil udføre et java-program, kan du kun installere JRE. Du har ikke brug for JDK, fordi der ikke kræves nogen udvikling eller kompilering af Java-kildekode.
Nu hvor vi har en grundlæggende forståelse af JDK, JVM og JRE, lad os undersøge forskellen mellem dem.
JDK vs JRE vs JVM
Lad os se på nogle af de vigtige forskelle mellem JDK, JRE og JVM.
- JDK er til udviklingsformål der henviser til, at JRE er til at køre java-programmerne.
- JDK og JRE indeholder begge JVM, så vi kan køre vores java-program.
- JVM er hjertet i java-programmeringssprog og giver platformuafhængighed .
Just-in-time kompilator (JIT)
Nogle gange finder du JIT ved siden af JVM, JDK og JRE i lærebøger. JIT er en del af JVM, der optimerer processen med at konvertere bytekode til maskinspecifikt sprog. Den kompilerer lignende bytekoder på samme tid og reducerer den samlede tid, der kræves for kompilering af bytekode til maskinspecifikt sprog.