JDK vs JRE vs JVM in Java – Skillnaden mellan dem

Nyckelskillnaden mellan JDK, JRE och JVM

  • JDK är ett mjukvaruutvecklingskit medan JRE är ett mjukvarupaket som tillåter Java program att köra, medan JVM är en miljö för exekvering av 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 Virtuell maskin.
  • JDK och JRE är plattformsberoende, medan JVM är plattformsoberoende på bytekodnivå men beror på plattformsspecifika implementeringar.
  • JDK innehåller verktyg för utveckling, felsökning etc. JRE innehåller klassbibliotek och andra stödjande filer, medan mjukvaruutvecklingsverktyg inte ingår i JVM.
  • JDK kommer med installationsprogrammet, å andra sidan innehåller JRE bara miljön för att exekvera källkod medan JVM paketeras i både programvaran JDK och JRE.

Vad är JDK?

JDK är en mjukvaruutvecklingsmiljö som används för att göra applets och Java applikationer. Den fullständiga formen av JDK är Java Utvecklings paket. Java utvecklare kan använda det 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.

Vad är JRE?

JRE är en del av en programvara som är designad för att köra annan programvara. Den innehåller klassbiblioteken, loaderklassen och JVM. Enkelt uttryckt, om du vill springa Java program du behöver JRE. Om du inte är en programmerare behöver du inte göra det installera JDK, men bara JRE att köra Java program. Men alla JDK-versioner medföljer Java Runtime Environment, så du behöver inte ladda ner och installera JRE separat på din PC. Den fullständiga formen av JRE är Java Runtime Environment.

Vad är JVM?

JVM är en motor som tillhandahåller en körtidsmiljö för att driva Java Kod eller applikationer. Det konverterar Java bytekod till maskinspråk. JVM är en del av Java Kör miljö (JRE). Det kan inte laddas ner och installeras separat. För att installera JVM måste du installera JRE. Den fullständiga formen av JVM är Java Virtuell maskin.

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

Varför använda JDK?

Här är de viktiga skälen till att använda JDK:

  • JDK innehåller verktyg som krävs för att skriva Java program och JRE för att köra dem.
  • Den innehåller en kompilator, Java programstartare, Appletviewer, etc.
  • Kompilator konverterar inskriven kod Java till bytekod.
  • Java programstartaren öppnar en JRE, laddar den nödvändiga klassen och kör dess huvudmetod.

Varför använda JRE?

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

  • JRE innehåller klassbibliotek, JVM och andra stödjande filer. Den innehåller inget verktyg för Java utveckling som en debugger, kompilator, etc.
  • Den använder viktiga paketklasser som matematik, swingetc, util, lang, awt och runtime-bibliotek.
  • Om du måste springa Java applets, måste JRE installeras i ditt system.

Varför JVM?

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

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

Funktioner i JDK

Här är de viktiga funktionerna i JDK:

  • Det gör att du kan hantera flera förlängningar i ett enda block.
  • JDK inkluderar alla funktioner som JRE har.
  • Den innehåller utvecklingsverktyg som en kompilator, debugger, etc.
  • JDK tillhandahåller miljön att utveckla och utföra Java källkod.
  • Den kan installeras på Windows, Unix och Mac operativsystem.
  • Diamantoperator kan användas för att specificera ett generiskt gränssnitt istället för att skriva det exakta.

Funktioner hos JRE

Här är de viktiga funktionerna i JRE:

  • Java Runtime Environment är en uppsättning verktyg med vilka JVM faktiskt körs.
  • 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 Databasanslutning (JDBC), Remote Method Invocation (RMI), Java Namngivning och kataloggränssnitt (JNDI) och mer.
  • JRE har JVM och Java HotSpot virtuell maskinklient.

Funktioner hos JVM

Här är de viktiga funktionerna i JVM:

  • Det gör att du kan köra applikationer i en molnmiljö eller i din enhet.
  • Java Virtual Machine konverterar bytekod till den maskinspecifika koden.
  • Den tillhandahåller grundläggande java-funktioner som minneshantering, säkerhet, sophämtning och mer.
  • JVM kör programmet med hjälp av bibliotek och filer som ges av Java Runtime Environment.
  • JDK och JRE innehåller båda Java Virtuell maskin.
  • Det kan exekvera java-programmet rad för rad, därför kallas det också för tolk.
  • JVM är lätt att anpassa till exempel, du kan tilldela minsta och maximala minne till den.
  • 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 fungerar JDK?

JDK-funktioner
JDK-funktionalitet

Här är de viktiga komponenterna i JDK:

  • JDK och JRE: JDK gör det möjligt för programmerare att skapa kärnor 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 anropa vid körning.
  • Kompilatorer: Det är ett Java program som accepterar textfiler från utvecklare och kompilerar till Java klassfil. Det är den vanliga formen av utdata som ges av kompilatorn, som innehåller Java byte-kod. I Java, är den primära kompilatorn Javac.
  • Debuggers: Debugger är en Java program som låter utvecklare testa och felsöka Java program.
  • JavaDok: 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 fungerar JRE?

JRE-funktioner

JRE-funktionalitet

JRE har en instans av JVM med sig, biblioteksklasser och utvecklingsverktyg. När du skriver och kompilerar Java kod genererar kompilatorn en klassfil med bytekod.

Här är de viktiga komponenterna i JRE:

  • Klasslastare: Klassladdaren laddar olika klasser som är nödvändiga för att köra en Java programmera. JVM använder tre klassladdare som kallas bootstrap class loader, extensions class loader och system class loader.
  • Bytekodverifierare: Byte code verifier verifierar bytekoden så att koden inte stör tolken.
  • Tolk: När klasserna har laddats och koden har verifierats, läser tolken koden rad för rad.
  • Körning: Run-time är ett system som huvudsakligen används i programmering för att beskriva den tidsperiod under vilken ett visst program körs.
  • Hårdvara: När du kompilerar Java ursprunglig kod körs den på en specifik hårdvaruplattform.

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

Hur fungerar JVM?

JVM-funktioner

JVM-funktionalitet

Här är de viktiga komponenterna i JVM:

1) Klasslastare

Klassladdaren är ett undersystem som används för att ladda klassfiler. Den utför tre huvudfunktioner, dvs. Laddar, länkar och initierar.

2) Metodområde

JVM Method Area lagrar klassstruktur som metadata, koden för Java metoder och den konstanta körtidspoolen.

3) Hög

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

4) JVM-språkstackar

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

5) PC-register

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

6) Native Method Stacks

Inbyggda metodstackar innehåller instruktionen för inbyggd kod beror på det ursprungliga biblioteket. Den allokerar minne till inhemska högar eller använder någon typ av stack.

7) Utförandemotor

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

8) Native Method-gränssnitt

Native Method Interface är ett programmeringsramverk. Det tillåter Java kod, som körs i en JVM för att anropa av bibliotek och inbyggda applikationer.

9) Inhemska metodbibliotek

Native Libraries är en samling av Native Libraries (C, C++), som behövs av exekveringsmotorn.

Skillnaden 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 Utvecklings paket. Den fullständiga formen av JRE är Java Runtime Environment. Den fullständiga formen av JVM är Java Virtuell maskin.
JDK är ett mjukvaruutvecklingskit för att utveckla applikationer i Java. Det är ett mjukvarupaket som tillhandahåller Java klassbibliotek med nödvändiga komponenter att köra Java koda. JVM körs Java bytekod och tillhandahåller en miljö för att exekvera den.
JDK är plattformsberoende. JRE är också plattformsberoende. JVM är plattformsoberoende.
Den innehåller verktyg för att utveckla, felsöka och övervaka java-kod. Den innehåller klassbibliotek och andra stödfiler som JVM kräver för att köra programmet. Mjukvaruutvecklingsverktyg ingår inte i JVM.
Det är superset av JRE 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 en del av Java som skapar JVM. Det är den Java plattformskomponent som kör källkoden.
JDK kommer med installationsprogrammet. JRE innehåller endast miljö för att exekvera källkod. JVM paketerat i både mjukvaran JDK och JRE.

Sammanfatta detta inlägg med: