Java® -ohjelmointikieli käyttää erityistä hallintaohjelmistoa, jota kutsutaan Java® -virtuaalikoneeksi (JVM). Tämä JVM on välttämätön, jotta kaikki Java® -ohjelmistot toimivat oikein tietokoneessa. JVM tulkitsee ohjelmiston pyyntöjä ja muuntaa ne koneen kielelle, jonka tietokonelaitteisto ymmärtää. JVM on laitteistopohjainen agnostikko, joten se sopii monenlaisiin tietokoneiden käyttöjärjestelmiin.
Useimmat ohjelmointikielet ovat nykyään laitteistoalustakohtaisia. Näitä ohjelmia kutsutaan omaksi, koska ne voivat toimia vain tietyissä käyttöjärjestelmissä. Java® -virtuaalikone on erityinen elementti, joka tekee Java® -ohjelmointialustasta riippumattoman. Tämä JVM on automaattinen yhteysprosessi, joka hallinnoi tietokoneen laitteiston ja Java® -ohjelmointikoodin välistä viestintää.
Kun tietokoneen käyttäjä käynnistää tietokoneen, hän on vuorovaikutuksessa tietokoneen laitteiston ja ohjelmiston käyttöjärjestelmän (OS) kanssa. Tietokoneen käyttöjärjestelmä on ensisijainen laite, joka tallentaa tietokoneen hiiren ja näppäimistön toiminnot. Nämä tapahtumat lähetetään käyttöjärjestelmästä ohjelmaan käyttämällä erityistä käyttöjärjestelmän koodia. Java® -virtuaalikone on Java® -prosessi, joka kaappaa käyttöjärjestelmän tapahtumat ja muuntaa ne Java® -ymmärrettäviksi viesteiksi.
Java® -virtuaalikoneen käyttämisellä on useita etuja. Kunkin käyttöjärjestelmän tekniset vivahteet on piilotettu kehittäjältä. Tämä mahdollistaa ohjelman monipuolisuuden, koska se voi toimia useiden tietokonelaitteistojen kanssa. JVM mahdollistaa myös joustavuuden käyttää useampaa kuin yhtä käyttöjärjestelmäalustaa organisaatiossa.
Nykyään on saatavana useita käyttöjärjestelmiä, kuten Windows®, MAC®, UNIX® ja Linux®. Yksi Java® -ohjelmisto voi toimia useissa käyttöjärjestelmissä. Tämä johtuu siitä, että Java® -ohjelmat käyttävät JVM: ää vuorovaikutuksessa käyttöjärjestelmän kanssa. Muuntyyppiset ohjelmistokoodit vaativat tyypillisesti erillisen kokoamiskoodipohjan kullekin käyttöjärjestelmälle.
Microsoft®.NET on esimerkki ohjelmistokielestä, joka vaatii tietyn kokoamisen jokaiselle käyttöjärjestelmälle. Jotta tämäntyyppinen ohjelmisto voidaan ottaa käyttöön UNIX® -ympäristössä, koodi on käännettävä uudelleen. Tämä edellyttäisi useiden koodiperustojen hallintaa kullekin käytetylle käyttöjärjestelmälle.
Nykyään Java® -virtuaalikonetekniikkaa on otettu käyttöön miljoonille tietokoneille ja laitteille ympäri maailmaa. Tämä JVM on vapaasti saatavana Internetistä Java® -kehitysohjelmistoympäristön kanssa. Tämä prosessi asennetaan automaattisesti, kun Java® -ohjelmistokoodi asennetaan tietokoneeseen.
Moniajo on prosessi, jonka avulla useita ohjelmia voidaan ajaa rinnakkain yhdellä tietokoneella. Java® -virtuaalikone tukee moniajo -ominaisuuksia. Tämän tekniikan avulla JVM voi tukea useita samanaikaisia sovelluksia. Monikäyttöominaisuudet säästävät arvokkaita tietokoneen käsittelyresursseja, mikä nopeuttaa sovellusten toimintaa.