La Java Virtual Machine (JVM) è un ambiente che esegue programmi Java. I programmi Java sono compilati in un linguaggio intermedio chiamato bytecode, che è ciò che esegue la JVM. Qualsiasi programma compilato in bytecode può essere eseguito su qualsiasi piattaforma su cui è installata una JVM. Ciò rende il software Java compatibile con molte piattaforme di elaborazione differenti. La JVM ha alcuni vantaggi e svantaggi notevoli che qualsiasi sviluppatore dovrebbe valutare attentamente prima di investire nello sviluppo Java.
Indipendenza dalla piattaforma
Il bytecode Java può essere scritto una volta e quindi eseguito su più piattaforme. Il bytecode Java non deve essere portato in un ambiente hardware specifico perché viene eseguito nella Java Virtual Machine. Qualsiasi applicazione compilata in bytecode Java può essere eseguita su qualsiasi piattaforma informatica che disponga di una Java Virtual Machine.
Video del giorno
Sicurezza
Java è stato scritto pensando alla sicurezza. La Java Virtual Machine dispone di funzioni di sicurezza integrate che consentono ai programmatori di scrivere programmi Java altamente sicuri. Inoltre, impedisce al software dannoso di compromettere il sistema operativo (OS) perché impedisce alle applicazioni Java di interagire con le risorse del sistema operativo.
Prestazione
I programmi Java eseguiti su una Java Virtual Machine tendono a essere più lenti dei programmi equivalenti scritti in C++. La neutralità del sistema del bytecode agisce come uno svantaggio per quanto riguarda le prestazioni. Questo perché l'ottimizzazione del codice si basa molto su funzionalità specifiche del sistema. Poiché il bytecode Java è indipendente dal sistema, non può essere ottimizzato per un set hardware specifico.
Correttezza
Un programma che funziona, come previsto, si dice corretto. Poiché un programma Java si basa sulla Java Virtual Machine per eseguirlo, la JVM deve essere priva di errori affinché il programma funzioni correttamente. Questa dipendenza dalla Java Virtual Machine introduce un possibile punto di errore per il programma. Fortunatamente, il software Java Virtual Machine è prodotto con standard molto elevati e quindi non è probabile che venga spedito con errori. Indipendentemente da ciò, un errore nella Java Virtual Machine è una possibilità che dovrebbe essere presa in considerazione.