Che cos’è una macchina virtuale Java®?

Il linguaggio di programmazione Java® utilizza un software di gestione speciale chiamato Java® virtual machine (JVM). Questa JVM è necessaria affinché qualsiasi programma software Java® funzioni correttamente su un computer. La JVM interpreta le richieste da un programma software e le converte in un linguaggio macchina comprensibile dall’hardware del computer. La JVM è indipendente dalla piattaforma hardware, il che la rende adatta a molti tipi di sistemi operativi per computer.

La maggior parte dei linguaggi di programmazione odierni sono specifici della piattaforma hardware. Questi programmi sono noti come proprietari perché possono essere eseguiti solo su sistemi operativi specifici. La Java® virtual machine è l’elemento speciale che rende indipendente la piattaforma dei programmi Java®. Questa JVM è un processo di collegamento automatizzato che gestisce la comunicazione tra l’hardware del computer e il codice di programmazione Java®.

Quando un utente di computer accende il proprio computer, interagisce con l’hardware del computer e il sistema operativo software (OS). Il sistema operativo del computer è il dispositivo principale che acquisisce le azioni dal mouse e dalla tastiera del computer. Questi eventi vengono trasmessi dal sistema operativo al programma utilizzando uno speciale codice del sistema operativo. La Java® virtual machine è un processo Java® che acquisisce gli eventi del sistema operativo e li trasforma in messaggi comprensibili Java®.

L’utilizzo di una macchina virtuale Java® offre numerosi vantaggi. Le sfumature tecniche di ciascun sistema operativo sono nascoste allo sviluppatore. Ciò consente una maggiore versatilità per il programma perché può funzionare con più piattaforme hardware di computer. La JVM consente inoltre la flessibilità di utilizzare più di una piattaforma di sistema operativo all’interno dell’organizzazione.

Oggi sono disponibili diversi sistemi operativi, inclusi Windows®, MAC®, UNIX® e Linux®. Un singolo programma software Java® può essere eseguito su più versioni di sistemi operativi. Questo perché i programmi Java® utilizzano la JVM per interagire con il sistema operativo. Altri tipi di codice software richiedono in genere una base di codice di compilazione separata per ciascun sistema operativo.

Microsoft®.NET è un esempio di linguaggio software che richiede una compilazione specifica per ogni sistema operativo. Per distribuire questo tipo di software in un ambiente UNIX®, il codice dovrebbe essere ricompilato. Ciò richiederebbe la gestione di più basi di codice per ogni sistema operativo utilizzato.
Oggi la tecnologia delle macchine virtuali Java® è stata implementata su milioni di computer e dispositivi in ​​tutto il mondo. Questa JVM è disponibile gratuitamente su Internet con l’ambiente software di sviluppo Java®. Questo processo viene installato automaticamente quando il codice del software Java® viene installato su un computer.
Il multitasking è un processo che consente a più programmi di essere eseguiti in parallelo su un computer. La macchina virtuale Java® supporta funzionalità multitasking. Questa tecnica consente a una JVM di supportare più applicazioni simultanee. La disponibilità di funzionalità di multielaborazione consente di risparmiare preziose risorse di elaborazione del computer, il che rende le applicazioni più veloci.