JDK vs JRE vs JVM: Viktiga skillnader

Vad är JDK?

JDK är en mjukvaruutvecklingsmiljö som används för att skapa applets och Java-applikationer. Den fullständiga formen av JDK är Java Development Kit. Java-utvecklare kan använda den på Windows, macOS, Solaris och Linux. JDK hjälper dem att koda och köra Java-program. Det är möjligt att installera mer än en JDK-version på samma dator.

I denna handledning lär du dig:

  • Vad är JDK?
  • Vad är JRE?
  • Vad är JVM?
  • Varför använda JDK?
  • Varför använda JRE?
  • Varför JVM?
  • Funktioner i JDK
  • Funktioner i JRE
  • Funktioner i JVM
  • Hur fungerar JDK?
  • Hur fungerar JRE?
  • Hur fungerar JVM?
  • Skillnad mellan JDK, JRE och JVM

Vad är JRE?

JRE är en mjukvara som är utformad för att köra annan programvara . Den innehåller klassbiblioteken, lastarklass och JVM. Enkelt uttryckt, om du vill köra Java-program behöver du JRE. Om du inte är programmerare behöver du inte installera JDK utan bara JRE för att köra Java-program. Men alla JDK-versioner levereras med Java Runtime Environment, så du behöver inte ladda ner och installera JRE separat i din PC. Den fullständiga formen av JRE är Java Runtime Environment.

Vad är JVM?

JVM är en motor som tillhandahåller en runtime-miljö för att köra Java-koden eller applikationerna. Den konverterar Java-bytkod till maskinspråk. JVM är en del av Java Run Environment (JRE). Det kan inte laddas ner och installeras separat. För att installera JVM måste du installera JRE. full form av JVM är Java Virtual Machine.

I många andra programmeringsspråk producerar kompilatorn maskinkod för ett specifikt system. Java-kompilatorn producerar dock kod för en virtuell maskin som kallas JVM.

KEY DIFFERENCES

  • JDK är ett programvaruutvecklingspaket medan JRE är ett programvarupaket som gör att Java-programmet kan köras, medan JVM är en miljö för att köra bytecode.
  • Den fullständiga formen av JDK är Java Development Kit, medan den fullständiga formen av JRE är Java Runtime Environment, medan den fullständiga formen av JVM är Java Virtual Machine.
  • JDK är plattformsberoende, JRE är också plattformberoende, men JVM är plattformsoberoende.
  • JDK innehåller verktyg för att utveckla, felsöka etc. JRE innehåller klassbibliotek och andra stödfiler, medan programvara utvecklingsverktyg ingår inte i JVM.
  • JDK levereras med installationsprogrammet, å andra sidan innehåller JRE bara miljön för att köra källkoden medan JVM buntas i både mjukvaran JDK och JRE.

Varför använda JDK?

Här är de viktiga anledningarna till att använda JDK:

  • JDK innehåller verktyg som krävs för att skriva Java-program och JRE att avrätta dem.
  • Den innehåller en kompilator, Java-applikationsstartare, Appletviewer etc.
  • Compiler konverterar kod skriven i Java till byte-kod.
  • Java-applikationsstartare öppnar en JRE, laddar den nödvändiga klassen och kör dess huvudsakliga metod.

Varför använda JRE?

Här är viktiga skäl för att använda JRE:

  • JRE innehåller klassbibliotek, JVM och andra stödfiler. Den innehåller inget verktyg för Java-utveckling som en felsökare, kompilator etc.
  • Den använder viktiga paketklasser som matematik, swingetc, util, lang, awt och runtime-bibliotek.
  • Om du måste köra Java-applets måste JRE vara installerat i ditt system.

Varför JVM?

Här är de viktiga anledningarna till att använda JVM:

  • JVM ger ett plattformsoberoende sätt att köra Java källkod.
  • Den har många bibliotek, verktyg och ramar.
  • När du har kört Java-programmet kan du köra på vilken plattform som helst och spara mycket tid.
  • JVM levereras med JIT (Just-in-Time) kompilator som konverterar Java-källkod till maskinspråk på låg nivå. Därför går den snabbare som en vanlig applikation.

Funktioner i JDK

Här är de viktiga funktionerna i JDK:

  • Det gör att du kan hantera flera tillägg i ett enda fångstblock.
  • JDK innehåller alla funktioner som JRE har.
  • Den innehåller utvecklingsverktyg som en kompilator, felsökare osv.
  • JDK tillhandahåller miljön för att utveckla och köra Java-källkod.
  • Det kan installeras på operativsystemen Windows, Unix och Mac.
  • Diamond-operatören kan användas för att specificera ett generiskt gränssnitt istället för att skriva det exakta.

Funktioner i JRE

Här är de viktiga funktionerna i JRE:

  • Java Runtime Environment är en uppsättning verktyg som JVM faktiskt kör.
  • JRE innehåller distributionsteknik, inklusive Java Web Start och Java Plug-in.
  • Utvecklare kan enkelt köra källkoden i JRE, men han / hon kan inte skriva och kompilera Java-programmet.
  • Det inkluderar integrationsbibliotek som Java Database Connectivity (JDBC), Remote Method Invitation (RMI), Java Naming and Directory Interface (JNDI) och mer.
  • JRE har JVM och Java HotSpot virtuell maskinklient.

JVM-funktioner

Här är de viktiga funktionerna i JVM:

  • Det gör att du kan köra applikationer i en molnmiljö eller på din enhet.
  • Java Virtual Machine konverterar byte-kod till den maskinspecifika koden.
  • Den tillhandahåller grundläggande java-funktioner som minneshantering, säkerhet, skräpsamling med mera.
  • JVM kör programmet genom att använda bibliotek och filer som ges av Java Runtime Environment.
  • JDK och JRE innehåller båda Java Virtual Machine.
  • Det kan köra Java-programraden för rad, därför kallas den också som tolk.
  • JVM kan enkelt anpassas till exempel, du kan tilldela det minsta och högsta minnet till det.
  • Det är oberoende av hårdvara och operativsystem. Så du kan skriva ett Java-program en gång och köra var som helst.

Hur JDK fungerar?

JDK-funktionalitet

Här är de viktiga komponenterna i JDK:

  • JDK och JRE: JDK gör det möjligt för programmerare att skapa grundläggande Java-program som kan köras av JRE, som inkluderade JVM och klassbibliotek.
  • Klassbibliotek: Det är en grupp av dynamiskt laddningsbara bibliotek som Java-programmet kan ringa vid körtid.
  • Kompilatorer: Det är ett Java-program som accepterar textfiler från utvecklare och kompilerar till Java-klassfil. Det är den vanliga formen för utdata från kompilatorn, som innehåller Java-byte-kod. I Java är den primära kompilatorn Javac.
  • Debuggers: Debugger är ett Java-program som låter utvecklare testa och felsöka Java-program.
  • JavaDoc: JavaDoc är dokumentation gjord av Sun Microsystems för Java. JavaDoc kan användas för att generera API-dokumentation i HTML-fil från källprogrammet

Hur JRE fungerar?

JRE-funktionalitet

JRE har en instans av JVM med sig, biblioteksklasser och utvecklingsverktyg. När du har skrivit och kompilerat Java-kod genererar kompilatorn en klassfil med byte-kod.

Här är de viktiga komponenterna i JRE:

  • Klasslastare: Klasslastaren laddar olika klasser som är nödvändiga för att köra ett Java-program. JVM använder tre klasslastare som kallas bootstrap-klassladdaren, tilläggsklassladdaren och systemklassladdaren.
  • Byte-kodverifierare: Byte-kodverifierare verifierar bytkoden så att koden inte stör tolk.
  • Tolk: När klasserna har laddats och koden har verifierats läser tolk koden rad för rad.
  • Körtid: Körtid är ett system som främst används vid programmering till beskriv tidsperioden under vilket ett visst program körs.
  • Hårdvara: När du kompilerar Java-inbyggd kod körs den på en specifik hårdvaruplattform.

På detta sätt, Java-programmet körs i JRE.

Hur JVM fungerar?

JVM-funktionalitet

Här är de viktiga komponenterna i JVM:

1) Class Loader

Class loader är ett delsystem som används för laddar klassfiler. Den utför tre huvudfunktioner, nämligen. Laddning, länkning och initialisering.

2) Metodområde

JVM-metodområde lagrar struktur av klass som metadata, koden för Java-metoder och den konstanta körtidspoolen.

3) Heap

Alla objekt, matriser och instansvariabler lagras i en hög. Detta minne delas över flera trådar.

4) JVM-språkstackar

Java-språkstackar lagrar lokala variabler och dess partiella resultat. Varje tråd har sin egen JVM-språkstapel, skapad samtidigt som tråden skapas. En ny ram skapas när metoden anropas och den tas bort när anropsprocessen för metoden är klar.

5) PC-register

PC-register lagrar adressen till Java-virtuell maskininstruktion som för närvarande körs. I Java har varje tråd sitt separata PC-register.

6) Native Method-stackar

Native method-stackar håller instruktionen för native-kod beror på det inbyggda biblioteket. Det tilldelar minne på infödda högar eller använder någon typ av stack.

7) Exekveringsmotor

Det är en typ av programvara som används för att testa programvara, hårdvara eller kompletta system. Testgenomföringsmotorn har aldrig någon information om den testade produkten.

8) Gränssnitt för native-metoder

Gränssnittet för Native Method är ett programmeringsramverk. Det tillåter Java-kod, som körs i en JVM, att ringa via bibliotek och inbyggda applikationer.

9) Inbyggda metodbibliotek

Inbyggda bibliotek är en samling av de infödda biblioteken (C, C ++) som behövs av Execution Engine.

Skillnad mellan JDK, JRE och JVM

Här är de stora skillnaderna mellan JDK vs JRE vs. JVM:

JDK JRE JVM
Den fullständiga formen av JDK är Java Development Kit. Den fullständiga formen för JRE är Java Runtime Environment. Den fullständiga formen av JVM är Java Virtual Machine.
JDK är ett programvaruutvecklingspaket för att utveckla applikationer i Java. Det är ett programvarupaket som förser Java-klassbibliotek med nödvändiga komponenter för att köra Java-kod. JVM kör Java-byte-kod och ger en miljö för att köra den.
JDK är plattformsberoende. JRE är också plattformsberoende. JVM är plattformsoberoende.
Den innehåller verktyg för att utveckla, felsöka och övervaka javakod. Den innehåller klassbibliotek och andra stödfiler som JVM kräver för att köra programmet. Programvaruutvecklingsverktyg ingår inte i JVM.
Det är JRE-superset Det är delmängden av JDK. JVM är en delmängd av JRE.
JDK gör det möjligt för utvecklare att skapa Java-program som kan köras och köras av JRE och JVM. JRE är den del av Java som skapar JVM. Det är Java-plattformskomponenten som kör källkoden.
JDK levereras med installationsprogrammet. JRE innehåller endast miljö för att köra källkoden. JVM buntad i både programvara JDK och JRE.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *