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. JVM interpreta le richieste di un programma software e le converte in linguaggio macchina compreso dall'hardware del computer. JVM è indipendente dalla piattaforma hardware, rendendolo adatto a molti tipi di sistemi operativi per computer.
La maggior parte dei linguaggi di programmazione oggi sono specifici della piattaforma hardware. Questi programmi sono noti come proprietari perché possono essere eseguiti solo su sistemi operativi specifici. La macchina virtuale Java® è l'elemento speciale che rende indipendente la piattaforma di programmi Java®. Questa JVM è un processo di collegamento automatizzato che gestisce la comunicazione tra hardware del computer e codice di programmazione Java®.
Quando un utente di computer accende il suo computer, interagisce con l'hardware del computer e il sistema operativo (SO) del sistema operativo. 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 un codice OS speciale. La macchina virtuale Java® è un processo Java® che acquisisce eventi del sistema operativo e li trasforma in messaggi comprensibili Java®.
L'uso 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 per computer. JVM consente inoltre la flessibilità di utilizzare più di una piattaforma del sistema operativo all'interno dell'organizzazione.
Esistono oggi 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 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 un linguaggio software che richiede una compilazione specifica per ciascun sistema operativo. Per distribuire questo tipo di software in un ambiente UNIX®, è necessario ricompilare il codice. Ciò richiederebbe la gestione di più basi di codice per ciascun sistema operativo utilizzato.
Oggi la tecnologia della macchina virtuale Java® è stata implementata su milioni di computer e dispositivi in tutto il mondo. Questa JVM è disponibile gratuitamente da Internet con l'ambiente software di sviluppo Java®. Questo processo viene installato automaticamente quando il codice del software Java® è 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 capacità di elaborazione multipla consente di risparmiare preziose risorse di elaborazione del computer, rendendo le applicazioni più veloci.