Java Virtual Machine (JVM) on ympäristö, joka suorittaa Java-ohjelmia. Java-ohjelmat on käännetty välikielelle, jota kutsutaan tavukoodiksi, jonka JVM suorittaa. Mikä tahansa tavukoodiksi käännetty ohjelma voidaan suorittaa millä tahansa alustalla, johon on asennettu JVM. Tämä tekee Java-ohjelmistosta yhteensopivan monien erilaisten tietokonealustojen kanssa. JVM: llä on muutamia merkittäviä etuja ja haittoja, jotka jokaisen kehittäjän tulee punnita huolellisesti ennen Java-kehitykseen investoimista.
Alustan riippumattomuus
Java-tavukoodi voidaan kirjoittaa kerran ja ajaa sitten useilla alustoilla. Java-tavukoodia ei tarvitse siirtää tiettyyn laitteistoympäristöön, koska se toimii Java-virtuaalikoneessa. Mitä tahansa Java-tavukoodiin käännettyä sovellusta voidaan käyttää millä tahansa tietokonealustalla, jossa on Java-virtuaalikone.
Päivän video
Turvallisuus
Java on kirjoitettu turvallisuutta ajatellen. Java-virtuaalikoneessa on sisäänrakennetut suojausominaisuudet, joiden avulla ohjelmoijat voivat kirjoittaa erittäin turvallisia Java-ohjelmia. Se myös estää haittaohjelmia vaarantamasta käyttöjärjestelmää (OS), koska se estää Java-sovelluksia olemasta vuorovaikutuksessa käyttöjärjestelmän resurssien kanssa.
Esitys
Java-virtuaalikoneessa toimivat Java-ohjelmat toimivat yleensä hitaammin kuin vastaavat C++-kielellä kirjoitetut ohjelmat. Tavukoodin järjestelmäneutraalius toimii suorituskyvyn kannalta haittana. Tämä johtuu siitä, että koodin optimointi riippuu suuresti järjestelmäkohtaisista ominaisuuksista. Koska Java-tavukoodi on järjestelmäneutraali, sitä ei voida optimoida tietylle laitteistojoukolle.
Oikeudenmukaisuus
Ohjelman, joka toimii odotetusti, sanotaan olevan oikea. Koska Java-ohjelma käyttää Java-virtuaalikonetta sen suorittamisessa, JVM: n on oltava virheetön, jotta ohjelma toimisi oikein. Tämä Java-virtuaalikoneeseen luottaminen mahdollistaa ohjelman epäonnistumisen. Onneksi Java Virtual Machine -ohjelmisto on tuotettu erittäin korkealla tasolla, joten se ei todennäköisesti toimita virheellisesti. Siitä huolimatta Java-virtuaalikoneen vika on mahdollisuus, joka tulee harkita.