Java Virtual Machine (JVM) este un mediu care execută programe Java. Programele Java sunt compilate într-un limbaj intermediar numit bytecode, care este ceea ce execută JVM. Orice program compilat în bytecode poate fi executat pe orice platformă care are instalat un JVM. Acest lucru face ca software-ul Java să fie compatibil cu multe platforme de calcul diferite. JVM-ul are câteva avantaje și dezavantaje notabile pe care orice dezvoltator ar trebui să le cântărească cu atenție înainte de a investi în dezvoltarea Java.
Independenta platformei
Codul octet Java poate fi scris o dată și apoi rulat pe mai multe platforme. Codul octet Java nu trebuie portat într-un mediu hardware specific, deoarece rulează în mașina virtuală Java. Orice aplicație compilată în bytecode Java poate fi rulată pe orice platformă de calcul care are o mașină virtuală Java.
Videoclipul zilei
Securitate
Java a fost scris având în vedere securitatea. Mașina virtuală Java are caracteristici de securitate încorporate care permit programatorilor să scrie programe Java foarte sigure. De asemenea, împiedică software-ul rău intenționat să compromită sistemul de operare (OS), deoarece împiedică aplicațiile Java să interacționeze cu resursele sistemului de operare.
Performanţă
Programele Java care rulează pe o mașină virtuală Java tind să funcționeze mai lent decât programele echivalente scrise în C++. Neutralitatea sistemului a bytecode acționează ca un dezavantaj în ceea ce privește performanța. Acest lucru se datorează faptului că optimizarea codului se bazează în mare măsură pe caracteristicile specifice sistemului. Deoarece codul octet Java este neutru din punct de vedere al sistemului, nu poate fi optimizat pentru un set hardware specific.
Corectitudine
Un program care funcționează, așa cum era de așteptat, se spune că este corect. Deoarece un program Java se bazează pe mașina virtuală Java pentru a-l executa, JVM-ul trebuie să nu aibă erori pentru ca programul să funcționeze corect. Această dependență de mașina virtuală Java introduce un posibil punct de eșec pentru program. Din fericire, software-ul Java Virtual Machine este produs la standarde foarte înalte și, prin urmare, nu este probabil să fie livrat cu erori. Indiferent, o defecțiune a mașinii virtuale Java este o posibilitate care ar trebui luată în considerare.