Wat is een Java® Virtual Machine?
De programmeertaal Java® maakt gebruik van speciale beheersoftware, een Java® virtuele machine (JVM). Deze JVM is nodig voor elk Java®-softwareprogramma om correct te werken op een computer. De JVM interpreteert aanvragen van een softwareprogramma en converteert deze naar machinetaal die wordt begrepen door de computerhardware. De JVM is een agnostisch hardwareplatform, waardoor het geschikt is voor vele soorten computerbesturingssystemen.
De meeste programmeertalen zijn tegenwoordig specifiek voor het hardwareplatform. Deze programma's worden proprietary genoemd omdat ze alleen op specifieke besturingssystemen kunnen worden uitgevoerd. De Java® virtuele machine is het speciale element dat het Java®-programmeerplatform onafhankelijk maakt. Deze JVM is een geautomatiseerd verbindingsproces dat de communicatie beheert tussen computerhardware en Java®-programmeercode.
Wanneer een computergebruiker zijn computer aanzet, werkt hij met het besturingssysteem van de computerhardware en -software (OS). Het computerbesturingssysteem is het primaire apparaat dat acties van de muis en het toetsenbord van de computer vastlegt. Deze gebeurtenissen worden van het besturingssysteem naar het programma verzonden met behulp van speciale OS-code. De Java® virtuele machine is een Java®-proces dat OS-gebeurtenissen vastlegt en omzet in begrijpelijke Java®-berichten.
Het gebruik van een Java® virtuele machine heeft verschillende voordelen. De technische nuances van elk besturingssysteem zijn verborgen voor de ontwikkelaar. Dit biedt meer veelzijdigheid voor het programma omdat het kan werken met meerdere computerhardwareplatforms. De JVM biedt ook de flexibiliteit om meer dan één besturingssysteemplatform binnen de organisatie te gebruiken.
Er zijn tegenwoordig verschillende besturingssystemen beschikbaar, waaronder Windows®, MAC®, UNIX® en Linux®. Een enkel Java®-softwareprogramma kan op meerdere versies van besturingssystemen worden uitgevoerd. Dit komt omdat Java®-programma's de JVM gebruiken om te communiceren met het besturingssysteem. Andere soorten softwarecode vereisen doorgaans een afzonderlijke compilatiecodebasis voor elk besturingssysteem.
Microsoft®.NET is een voorbeeld van een softwaretaal die specifieke compilatie vereist voor elk besturingssysteem. Om dit type software in een UNIX®-omgeving te implementeren, moet de code opnieuw worden gecompileerd. Dit zou het beheer van meerdere codebases voor elk gebruikt besturingssysteem vereisen.
Tegenwoordig is de Java® virtuele machine-technologie op miljoenen computers en apparaten over de hele wereld geïmplementeerd. Deze JVM is gratis beschikbaar via internet met de Java®-ontwikkelingssoftwareomgeving. Dit proces wordt automatisch geïnstalleerd wanneer de Java®-softwarecode op een computer wordt geïnstalleerd.
Multitasking is een proces waarmee meerdere programma's parallel op één computer kunnen worden uitgevoerd. De Java® virtuele machine ondersteunt multitasking-mogelijkheden. Met deze techniek kan een JVM meerdere gelijktijdige toepassingen ondersteunen. Het hebben van multiprocessing-mogelijkheden bespaart waardevolle computerverwerkingsbronnen, waardoor applicaties sneller worden uitgevoerd.