Java Virtual Machine (JVM) macchina virtuale

Quando ci si avvicina al mondo Java per avviare un percorso di studio su questo linguaggio è necessario partire dalla Java virtual machine (JVM); ciò non è dovuto alla OOP “object oriented programming” sul quale Java è impiantato ma piuttosto alla portabilità che lo contraddistingue da altri linguaggi. JVM sta per (Java Virtual Machine); è il componente che serve a far funzionare il software scritto in linguaggio Java e non solo, di proprietà della Oracle.

Perché è importante la Java Virtual Machine?

La macchina virtuale Java simula il processore per l’ elaborazione delle applicazioni sia per il lato client che server. Interpreta il byte code generato dal compilatore javac eseguendone le istruzioni; quest’ultimo di fatto restituisce una semi compilazione grazie al JIT (Just in time) e non una vera compilazione come avviene in altri linguaggi alla C o C++.

jvm
Java Virtual Machine, schema ufficiale Oracle

Java Runtime Enviroment

La JVM include un insieme di classi standard coordinate tra di loro e scritte in OOP; questo insieme è definito come JRE (Java Runtime Enviroment) ed è il cuore di tutto il sistema Java.

Java Development Kit

il JDK (Java Development Kit) contiene gli strumenti necessari di sviluppo e di controllo per le applicazioni create in codice Java. Inclusi nella JDK ricordiamo alcuni componenti come il  Debugger per il riscontro degli errori, un Applet Viewer per mostrare in anteprima le Applet, il Javadoc che genera in automatico la documentazione in ipertesto del codice partendo dai commenti; il JAR (java archive) è un insieme di file compressi di librerie correlate; inizialmente questo formato nasce per trasferire i file in rete.

Java virtual machine: schema
Java virtual machine: immagine schema.

Aiuto per i programmatori Java

Quindi, il JDK possiamo definirlo o come un estensione del JRE visto dal lato della Java Virtual Machine oppure come il core visto da un programmatore. Proseguiamo definendo anche l’ SDK che riesce ad ospitare al suo interno il JDK e tutto quello che serve per programmare al meglio;

in pratica una soluzione completa ed accomodante per gli sviluppatori; alcuni riferimenti che potrebbero chiarire il concetto di SDK può essere l’ IDE di Eclipse e Netbeans che integrano questa tecnologia e ci permettono di interagire anche ad interfaccia grafica, menu, pop up eccetera. Infine ricordiamo che il JDK oltre a quello di Oracle ed IBM ve ne sono anche altri di tipo Open Source; ad esempio Open JDK.