Prednosti in slabosti navideznih strojev Java

Navidezni stroj Java (JVM) je okolje, ki izvaja programe Java. Programi Java so prevedeni v vmesni jezik, imenovan bajtna koda, ki jo izvaja JVM. Vsak program, preveden v bajtno kodo, se lahko izvede na kateri koli platformi, na kateri je nameščen JVM. Zaradi tega je programska oprema Java združljiva s številnimi različnimi računalniškimi platformami. JVM ima nekaj pomembnih prednosti in slabosti, ki bi jih moral vsak razvijalec skrbno pretehtati, preden vlaga v razvoj Jave.

Neodvisnost od platforme

Bajtno kodo Java je mogoče napisati enkrat in nato izvajati na več platformah. Bajtne kode Java ni treba prenesti v določeno strojno okolje, ker se izvaja v navideznem stroju Java. Vsako aplikacijo, prevedeno v bajtno kodo Java, je mogoče zagnati na kateri koli računalniški platformi, ki ima navidezni stroj Java.

Video dneva

Varnost

Java je bila napisana z mislijo na varnost. Navidezni stroj Java ima vgrajene varnostne funkcije, ki programerjem omogočajo pisanje zelo varnih programov Java. Prav tako preprečuje, da bi zlonamerna programska oprema ogrozila operacijski sistem (OS), ker preprečuje, da bi aplikacije Java komunicirale z viri operacijskega sistema.

Izvedba

Programi Java, ki se izvajajo na navideznem stroju Java, običajno delujejo počasneje kot enakovredni programi, napisani v C++. Sistemska nevtralnost bajtne kode deluje kot pomanjkljivost, ko gre za zmogljivost. To je zato, ker se optimizacija kode močno zanaša na funkcije, specifične za sistem. Ker je bajtna koda Java sistemsko nevtralna, je ni mogoče optimizirati za določen nabor strojne opreme.

Pravilnost

Program, ki deluje po pričakovanjih, naj bi bil pravilen. Ker se program Java zanaša na izvajanje navideznega stroja Java, mora biti JVM brez napak, da program pravilno deluje. To zanašanje na navidezni stroj Java predstavlja možno točko odpovedi programa. Na srečo je programska oprema Java Virtual Machine izdelana z zelo visokimi standardi, zato ni verjetno, da bi bila dobavljena z napakami. Ne glede na to je napaka v navideznem stroju Java možnost, ki jo je treba upoštevati.