Vantaggi e Svantaggi delle Java Virtual Machine
La Java Virtual Machine (JVM) è un ambiente che esegue programmi Java. I programmi Java sono compilati in un linguaggio intermedio chiamato bytecode, che la JVM esegue. Qualsiasi programma compilato in bytecode può essere eseguito su qualsiasi piattaforma con una JVM installata. Questo rende il software Java compatibile con molte piattaforme informatiche diverse. La JVM ha alcuni vantaggi e svantaggi notevoli che ogni sviluppatore dovrebbe valutare attentamente prima di investire nello sviluppo Java.
Indipendenza dalla Piattaforma
Il bytecode Java può essere scritto una volta ed eseguito su più piattaforme. Non deve essere portato a un ambiente hardware specifico perché gira nella JVM. Qualsiasi applicazione compilata in bytecode Java può girare su qualsiasi piattaforma con una JVM.
Sicurezza
Java è stato scritto con la sicurezza in mente. La JVM ha funzioni di sicurezza integrate che permettono di scrivere programmi Java altamente sicuri. Impedisce anche a software malevolo di compromettere il Sistema Operativo (OS) perché impedisce alle applicazioni Java di interagire con le risorse del SO.
Prestazioni
I programmi Java su JVM tendono a essere più lenti di programmi equivalenti in C++. La neutralità di sistema del bytecode è uno svantaggio per le prestazioni. L'ottimizzazione del codice dipende pesantemente da caratteristiche specifiche del sistema. Poiché il bytecode Java è neutrale rispetto al sistema, non può essere ottimizzato per un hardware specifico.
Correttezza
Un programma che si comporta come previsto è detto corretto. Poiché un programma Java dipende dalla JVM per l'esecuzione, la JVM deve essere priva di errori per il corretto funzionamento. Questa dipendenza introduce un possibile punto di fallimento. Fortunatamente, il software JVM è prodotto con standard molto alti, quindi è improbabile che venga rilasciato con errori. Tuttavia, un fallimento della JVM è una possibilità da considerare.