JDK versus JRE versus JVM: belangrijkste verschillen

Wat is JDK?

JDK is een software-ontwikkelomgeving die wordt gebruikt voor het maken van applets en Java-applicaties. De volledige vorm van JDK is Java Development Kit. Java-ontwikkelaars kunnen het gebruiken op Windows, macOS, Solaris en Linux. JDK helpt hen bij het coderen en uitvoeren van Java-programmas. Het is mogelijk om meer dan één JDK-versie op dezelfde computer te installeren.

In deze tutorial leer je:

  • Wat is JDK?
  • Wat is JRE?
  • Wat is JVM?
  • Waarom JDK gebruiken?
  • Waarom JRE gebruiken?
  • Waarom JVM?
  • Kenmerken van JDK
  • Kenmerken van JRE
  • Kenmerken van JVM
  • Hoe werkt JDK?
  • Hoe werkt JRE?
  • Hoe werkt JVM?
  • Verschil tussen JDK, JRE en JVM

Wat is JRE?

JRE is een stukje software dat is ontworpen om andere software uit te voeren . Het bevat de klassebibliotheken, de laderklasse en JVM. Simpel gezegd, als u een Java-programma wilt uitvoeren, heeft u JRE nodig. Als u geen programmeur bent, hoeft u geen JDK te installeren, maar alleen JRE om Java-programmas uit te voeren. Alle JDK-versies worden echter gebundeld met Java Runtime Environment, dus u hoeft de JRE niet afzonderlijk te downloaden en te installeren in uw PC. De volledige vorm van JRE is Java Runtime Environment.

Wat is JVM?

JVM is een engine die een runtime-omgeving om de Java-code of applicaties aan te sturen. Het zet Java-bytecode om in machinetaal. JVM is een onderdeel van Java Run Environment (JRE). Het kan niet afzonderlijk worden gedownload en geïnstalleerd. Om JVM te installeren, moet u JRE installeren. De volledige vorm van JVM is Java Virtual Machine.

In veel andere programmeertalen produceert de compiler machinecode voor een specifiek systeem. De Java-compiler produceert echter code voor een virtuele machine die JVM wordt genoemd.

BELANGRIJKSTE VERSCHILLEN

  • JDK is een softwareontwikkelingskit, terwijl JRE een softwarebundel is waarmee het Java-programma kan worden uitgevoerd, terwijl JVM een omgeving is voor het uitvoeren van bytecode.
  • De volledige vorm van JDK is Java Development Kit, terwijl de volledige vorm van JRE Java Runtime Environment is, terwijl de volledige vorm van JVM Java Virtual Machine is.
  • JDK is platformafhankelijk, JRE is ook platformafhankelijk, maar JVM is platformonafhankelijk.
  • JDK bevat tools voor het ontwikkelen, debuggen, etc. JRE bevat klassebibliotheken en andere ondersteunende bestanden, terwijl software ontwikkeltools zijn niet inbegrepen in JVM.
  • JDK wordt geleverd met het installatieprogramma, aan de andere kant bevat JRE alleen de omgeving om de broncode uit te voeren, terwijl JVM is gebundeld in zowel software JDK als JRE.

Waarom JDK gebruiken?

Hier zijn de belangrijke redenen om JDK te gebruiken:

  • JDK bevat tools die nodig zijn om Java-programmas te schrijven, en JRE om ze uit te voeren.
  • Het bevat een compiler, Java-applicatiestarter, Appletviewer, enz.
  • Compiler converteert code die in Java is geschreven naar bytecode.
  • Het opstartprogramma van Java-toepassingen opent een JRE, laadt de benodigde klasse en voert de hoofdmethode uit.

Waarom JRE gebruiken?

Hier zijn de belangrijke redenen om JRE te gebruiken:

  • JRE bevat klassebibliotheken, JVM en andere ondersteunende bestanden. Het bevat geen enkele tool voor Java-ontwikkeling zoals een debugger, compiler, enz.
  • Het gebruikt belangrijke pakketklassen zoals math, swingetc, util, lang, awt en runtime-bibliotheken.
  • Als u Java-applets moet draaien, moet JRE op uw systeem zijn geïnstalleerd.

Waarom JVM?

Hier zijn de belangrijke redenen om JVM te gebruiken:

  • JVM biedt een platformonafhankelijke manier om Java uit te voeren broncode.
  • Het heeft talloze bibliotheken, tools en frameworks.
  • Als u eenmaal het Java-programma heeft uitgevoerd, kunt u het op elk platform draaien en veel tijd besparen.
  • JVM wordt geleverd met JIT (Just-in-Time) -compiler die Java-broncode omzet in machinetaal op laag niveau. Daarom werkt het sneller dan een gewone applicatie.

Kenmerken van JDK

Hier zijn de belangrijke kenmerken van JDK:

  • Het stelt je in staat om meerdere extensies in een enkel catch-blok af te handelen.
  • JDK bevat alle functies die JRE heeft.
  • Het bevat ontwikkeltools zoals een compiler, debugger, enz.
  • JDK biedt de omgeving om Java-broncode te ontwikkelen en uit te voeren.
  • Het kan worden geïnstalleerd op Windows-, Unix- en Mac-besturingssystemen.
  • Diamond-operator kan worden gebruikt bij het specificeren van een generiek type interface in plaats van de exacte te schrijven.

Kenmerken van JRE

Hier zijn de belangrijke kenmerken van JRE:

  • Java Runtime Environment is een set tools waarmee de JVM daadwerkelijk wordt uitgevoerd.
  • JRE bevat implementatietechnologie, inclusief Java Web Start en Java Plug-in.
  • Ontwikkelaars kunnen de broncode gemakkelijk in JRE uitvoeren, maar hij / zij kan het Java-programma niet schrijven en compileren.
  • Het bevat integratiebibliotheken zoals Java Database Connectivity (JDBC), Remote Method Invocation (RMI), Java Naming and Directory Interface (JNDI) en meer.
  • JRE heeft JVM en Java HotSpot virtuele machine-client.

Kenmerken van JVM

Hier zijn de belangrijke kenmerken van JVM:

  • Hiermee kunt u applicaties uitvoeren in een cloudomgeving of op uw apparaat.
  • Java Virtual Machine converteert bytecode naar de machinespecifieke code.
  • Het biedt elementaire Java-functies zoals geheugenbeheer, beveiliging, garbagecollection en meer.
  • JVM voert het programma uit door bibliotheken en bestanden te gebruiken die door Java Runtime Environment worden verstrekt.
  • JDK en JRE bevatten beide Java Virtual Machine.
  • Het kan het Java-programma regel voor regel uitvoeren, vandaar dat het ook wel als interpreter wordt genoemd.
  • JVM is eenvoudig aan te passen, bijvoorbeeld u kunt er minimaal en maximaal geheugen aan toewijzen.
  • Het is onafhankelijk van hardware en het besturingssysteem. U kunt dus een keer een Java-programma schrijven en het overal uitvoeren.

Hoe werkt JDK?

JDK-functionaliteit

Hier zijn de belangrijke componenten van JDK:

  • JDK en JRE: de JDK stelt programmeurs in staat om Java-kernprogrammas te maken die kunnen worden uitgevoerd door de JRE, inclusief JVM en klassebibliotheken.
  • Klassebibliotheken: het is een groep dynamisch laadbare bibliotheken die het Java-programma tijdens runtime kan oproepen.
  • Compilers: het is een Java-programma dat tekstbestanden van ontwikkelaars accepteert en compileert in Java-klassebestand. Het is de gebruikelijke vorm van uitvoer die wordt gegeven door de compiler, die Java-bytecode bevat. In Java is Javac de primaire compiler.
  • Debuggers: Debugger is een Java-programma waarmee ontwikkelaars Java-programmas kunnen testen en debuggen.
  • JavaDoc: JavaDoc is documentatie gemaakt door Sun Microsystems voor Java. JavaDoc kan worden gebruikt voor het genereren van API-documentatie in HTML-bestand vanuit het bronprogramma.

Hoe werkt JRE?

JRE-functionaliteit

JRE heeft een instantie van JVM, bibliotheekklassen en ontwikkeltools. Nadat u Java-code hebt geschreven en gecompileerd, genereert de compiler een klassebestand met bytecode.

Hier zijn de belangrijke componenten van JRE:

  • Class loaders: De class loader laadt verschillende klassen die nodig zijn voor het draaien van een Java programma. JVM gebruikt drie klasse-laders genaamd de bootstrap-class-loader, extensions-class-loader en systeem-class-loader.
  • Bytecode-verificator: Bytecode-verificateur verifieert de bytecode zodat de code de interpreter niet stoort.
  • Interpreter: zodra de klassen zijn geladen en de code is geverifieerd, leest de interpreter de code regel voor regel.
  • Runtime: Runtime is een systeem dat voornamelijk wordt gebruikt bij het programmeren van beschrijf de tijdsperiode waarin een bepaald programma wordt uitgevoerd.
  • Hardware: zodra u de native Java-code hebt gecompileerd, wordt deze op een specifiek hardwareplatform uitgevoerd.

Op deze manier het Java-programma draait in JRE.

Hoe werkt JVM?

JVM-functionaliteit

Hier zijn de belangrijke componenten van JVM:

1) Class Loader

De class loader is een subsysteem dat wordt gebruikt voor klassenbestanden laden. Het vervult drie belangrijke functies, namelijk. Laden, koppelen en initialiseren.

2) Method Area

JVM Method Area slaat klassenstructuur op, zoals metadata, de code voor Java-methoden en de constante runtime-pool.

3) Heap

Alle objecten, arrays en instantievariabelen worden in een heap opgeslagen. Dit geheugen wordt gedeeld over meerdere threads.

4) JVM-taalstapels

Java-taalstapels slaan lokale variabelen op, en de gedeeltelijke resultaten ervan. Elke thread heeft zijn eigen JVM-taalstapel, die gelijktijdig wordt gemaakt terwijl de thread wordt gemaakt. Er wordt een nieuw frame gemaakt wanneer de methode wordt aangeroepen, en het wordt verwijderd wanneer het aanroepproces van de methode is voltooid.

5) Pc-registers

Pc-registers slaan het adres op van de Java virtuele machine-instructie, die momenteel wordt uitgevoerd. In Java heeft elke thread een afzonderlijk pc-register.

6) Native Method Stacks

Native methodestacks bevatten de instructie van native code, afhankelijk van de native bibliotheek. Het wijst geheugen toe aan native hopen of gebruikt elk type stapel.

7) Execution Engine

Het is een soort software dat wordt gebruikt om software, hardware of complete systemen te testen. De testuitvoeringsengine bevat nooit informatie over het geteste product.

8) Native Method-interface

De Native Method Interface is een programmeerraamwerk. Hiermee kan Java-code, die in een JVM wordt uitgevoerd, worden opgeroepen door bibliotheken en native applicaties.

9) Native Method Libraries

Native Libraries is een verzameling van de Native Libraries (C, C ++), die nodig zijn voor de Execution Engine.

Verschil tussen JDK, JRE en JVM

Hier zijn de belangrijkste verschillen tussen JDK versus JRE versus JVM:

JDK JRE JVM
De volledige vorm van JDK is Java Development Kit. De volledige vorm van JRE is Java Runtime Environment. De volledige vorm van JVM is Java Virtual Machine.
JDK is een softwareontwikkelingskit om applicaties in Java te ontwikkelen. Het is een softwarebundel die Java-klassebibliotheken voorziet van de nodige componenten om Java-code uit te voeren. JVM voert Java-bytecode uit en biedt een omgeving om deze uit te voeren.
JDK is platformafhankelijk. JRE is ook platformafhankelijk. JVM is platformonafhankelijk.
Het bevat tools voor het ontwikkelen, debuggen en bewaken van Java-code. Het bevat klassebibliotheken en andere ondersteunende bestanden die JVM nodig heeft om het programma uit te voeren. Software-ontwikkelingstools zijn niet inbegrepen in JVM.
Het is de superset van JRE Het is de subset van JDK. JVM is een subset van JRE.
De JDK stelt ontwikkelaars in staat Java-programmas te creëren die kunnen worden uitgevoerd en uitgevoerd door de JRE en JVM. De JRE is het deel van Java dat de JVM maakt. Het is de Java-platformcomponent die de broncode uitvoert.
JDK wordt geleverd met het installatieprogramma. JRE bevat alleen een omgeving om de broncode uit te voeren. JVM gebundeld in zowel software JDK als JRE.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *