JVM versus JRE
Java is een programmeertaal voor meerdere platforms. Het houdt zich ook aan het principe "één keer schrijven, overal uitvoeren". Het programma dat in Java is geschreven, kan door de Java-compiler in Java-bytecode worden gecompileerd. Vervolgens kan de bytecode worden uitgevoerd op elk platform met JRE (Java Runtime Environment). JRE omvat de JVM (Java Virtual Machine), basisbibliotheken (die de Java API implementeren) en andere ondersteunende bestanden. JVM is een abstracte computer die optreedt als bemiddelaar tussen de platformspecifieke JRE en de Java-code.
Wat is JVM?
JVM is een type virtuele machine dat door machines wordt gebruikt om Java-bytecode uit te voeren. Volgens Sun Microsystems (die Java ontwikkelde totdat het zeer recent door Oracle werd gekocht), zijn er meer dan 4 miljard JVM-apparaten in de wereld. Meer specifiek is Java Virtual Machine een abstracte computer die is geïmplementeerd op standaard hardware en besturingssysteem. Een van de belangrijke functies van de JVM is de automatische afhandeling van uitzonderingen. Meestal wordt de JVM vergezeld van een verzameling standaardbibliotheken. In feite is JRE een bundel met de JVM en de klassen die de Java API implementeren. JVM is een zeer belangrijke component, die de "compile once, run Anywhere" aard van de programmeertaal Java ondersteunt. Zolang de JVM actief is, kan uw Java-code erop worden uitgevoerd, ongeacht het platform dat op de machine wordt gebruikt. Daarom wordt Java een cross-platform of multi-platform taal genoemd.
Wat is JRE?
JRE is de uitvoeringsomgeving waarop Java-code wordt uitgevoerd. JRE bestaat doorgaans uit de JVM, standaard basisklassen (die de basis Java API implementeren) en andere ondersteunende bestanden. Type en structuur van JRE variëren afhankelijk van het besturingssysteem en de CPU-architectuur. Wanneer de Java-code wordt uitgevoerd, zal de JRE communiceren met het besturingssysteem, dat op zijn beurt zal praten met de overeenkomstige hardwarecomponenten. JRE geïnstalleerd hebben op uw systeem is een must om Java-code op uw computer uit te voeren. JRE bevat echter geen compiler, debugger of andere tools die nodig zijn voor de ontwikkeling van Java-programma's (zoals appletviewer en javac). Als u programma's in Java moet ontwikkelen, heeft u de JDK (Java Development Kit) nodig, die ook de JRE bevat.
Wat is het verschil tussen en JVM en JRE?
Hoewel in het dagelijks gebruik de termen JVM en JRE door elkaar worden gebruikt, hebben ze hun verschillen. JVM is een virtuele machine die bovenop het besturingssysteem draait, terwijl JRE de uitvoeringsomgeving voor runtime is. JVM is een onderdeel van de JRE. JVM-specificatie fungeert als de link tussen de platformspecifieke JRE-implementatie en de standaard Java-bibliotheken. Daarom is JVM de entiteit die de abstractie van de innerlijke implementatiedetails aan de programmeur levert. En het is verantwoordelijk voor het interpreteren van de gecompileerde bytecode. JVM heeft echter de basisbibliotheken en andere ondersteunende bestanden nodig om de java-bytecode uit te voeren. Maar soms wordt JRE eenvoudigweg geïdentificeerd als een implementatie van JVM.