JVM “la macchina virtuale Java” (Oracle)

La “JVM” acronimo di: (Java Virtual Machine) è il componente della Oracle per la piattaforma Java che consente di eseguire programmi in Bytecode; scritti 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.

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. Anche questa scelta si rilevò vincente perché molti programmatori c e c++ in seguito iniziarono ad utilizzare il linguaggio Java; invogliati proprio da questa familiarità con il loro background.

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.

la Java virtual machine
JVM (Java virtual machine): schema illustrativo

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à ospitare 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 Oracole 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 Oracole mise Gosling in condizione di lasciare la Sun per le diverse vedute sul progetto al quale preoccupò.