JVM, macchina virtuale Java

La JVM acronimo di (Java Virtual Machine) è il componente software per la piattaforma di Java; la quale consente di eseguire il Byte code dei programmi. Scritto in Linguaggio Java e non solo; per capire quali sono i meccanismi e gli impieghi della Java Virtual Machine non c’è niente di meglio della virtual Box ma che non vanno confusi con quelli di Doker.

Gli obbiettivi della JVM

La Java virtual machine rendeva chiari gli obbiettivi dei progettisti di creare una tecnologia che si adattasse agli svariati dispositivi elettronici e di diversa natura. Questa scelta si rilevò vincente anche perché molti programmatori c e c++ in seguito iniziarono ad utilizzare il linguaggio Java; grazie alle similitudini della sintassi del linguaggio.

jvm
Java Virtual Machine, Official documentation

Come funziona la JVM

Il codice del sorgente scritto in Java è elaborato dalla classe compiler; nonostante questa classe evochi e faccia riferimento alla compilazione non svolge questo compito! Il codice Java non è tradotto in binario ma in un codice intermedio molto veloce da eseguire, il byte code; quest’ultimo è dato in pasto alla java virtual machine che si interfaccia con il sistema operativo e l’ hardware sottostante.

Codice interpretato o codice compilato?

Inizialmente l’ hot spot Java si limitava ad interpretare le istruzioni; l’ integrazione successiva del JIT compiler (Just in time compiler) abbina un processo di semi compilazione istantanea raggiungendo prestazioni accettabili rispetto a quelle di un programma scritto in c++. Infine abbiamo il java processor che interviene come rifinitura e Debug sul codice in caso qualcosa ne ostacoli l’ esecuzione.

JVM l’ indipendenza dalla piattaforma

La JVM rende indipendente il codice dalla piattaforma ospitante come anticipato dal team di sviluppo con il famoso motto “write once run everywhere; tradotto in italiano scrivere una sola volta ed eseguire da per tutto, su qualsiasi hardware indifferentemente dalla piattaforma ospitante.

Java Virtual Machine ed Il network

Netscape nel 1993 fu decisivo per la diffusione della JVM; integrandone una nel Browser per consentire di ospitare le prime Applet (piccole applicazioni scritte in Java) per il lato client. Tutto questo quando il Javascript, molto diffuso oggi era ancora sconosciuto.

L’ entusiasmo che accompagnava la Java Virtual Machine oltre che in ambiente Desktop era la capacità di integrarsi in applicazioni Web.

Sviluppata per eseguire codice remoto

Progettata alla base per eseguire codice remoto in modo sicuro, la Java Virtual machine suscitò subito l’ interesse da parte delle grandi organizzazioni; la Oracle che ha acquistato la Sun Microsystem nel 2010, e la grande community che partecipa al progetto, sono garanzia di risoluzioni alle problematiche. L’acquisizione da parte della Oracle mise Gosling in condizione di lasciare la Sun per le diverse vedute sul progetto al quale si dedicò.