„Java“ virtualioji mašina (JVM) yra aplinka, vykdanti „Java“ programas. „Java“ programos yra kompiliuojamos į tarpinę kalbą, vadinamą baitų kodu, kurią JVM vykdo. Bet kuri programa, sudaryta į baitinį kodą, gali būti vykdoma bet kurioje platformoje, kurioje yra įdiegtas JVM. Dėl to „Java“ programinė įranga yra suderinama su daugeliu skirtingų skaičiavimo platformų. JVM turi keletą pastebimų pranašumų ir trūkumų, kuriuos kiekvienas kūrėjas turėtų atidžiai pasverti prieš investuodamas į „Java“ kūrimą.
Platformos nepriklausomybė
„Java“ baitinį kodą galima parašyti vieną kartą ir tada paleisti keliose platformose. „Java“ baito kodo nereikia perkelti į konkrečią aparatinės įrangos aplinką, nes jis veikia „Java“ virtualiojoje mašinoje. Bet kuri programa, sudaryta į „Java“ baitinį kodą, gali būti paleista bet kurioje skaičiavimo platformoje, kurioje yra „Java“ virtualioji mašina.
Dienos vaizdo įrašas
Saugumas
„Java“ buvo parašyta turint omenyje saugumą. „Java“ virtualioji mašina turi integruotas saugos funkcijas, kurios leidžia programuotojams rašyti itin saugias „Java“ programas. Tai taip pat neleidžia kenkėjiškai programinei įrangai pakenkti operacinei sistemai (OS), nes neleidžia Java programoms sąveikauti su operacinės sistemos ištekliais.
Spektaklis
Java programos, veikiančios Java virtualioje mašinoje, paprastai veikia lėčiau nei lygiavertės programos, parašytos C++. Sistemos baitinio kodo neutralumas veikia kaip trūkumas, kai kalbama apie našumą. Taip yra todėl, kad kodo optimizavimas labai priklauso nuo specifinių sistemos funkcijų. Kadangi „Java“ baitinis kodas yra neutralus sistemai, jo negalima optimizuoti konkrečiam aparatūros rinkiniui.
Teisingumas
Sakoma, kad programa, kuri veikia taip, kaip tikėtasi, yra teisinga. Kadangi „Java“ programa naudojasi „Java“ virtualia mašina, kad ji veiktų, JVM turi būti be klaidų, kad programa veiktų tinkamai. Šis pasitikėjimas „Java“ virtualia mašina rodo galimą programos gedimo vietą. Laimei, „Java“ virtualiosios mašinos programinė įranga yra sukurta laikantis labai aukštų standartų, todėl greičiausiai ji nebus pristatyta su klaidomis. Nepaisant to, „Java“ virtualiosios mašinos gedimas yra galimybė, kurią reikėtų apsvarstyti.