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.

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
Tecnologia Java

Java Runtime Enviroment (JRE)

JRE sta per (Java Runtime Enviroment) In pratica è il cuore di tutto il sistema Java; raggruppa in un solo insieme le libreie standard del linguaggio dette anche (API Java) il launcher per le applicazioni scritte in Java e la JVM.

Java Development Kit (JDK)

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 formato di compressione per il codice Java 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

In altri linguaggi l’ SDK (Software Development Kit) che contiene al suo interno tutti gli strumenti utili per lo sviluppo; in Java in Java è il JDK e ha tutto quello che serve per programmare al meglio come;

  • le Application server (struttura),
  • driver di connessione a Database come MySql,
  • Debug per riscontrare errori di compilazione,
  • documentazione di supporto;

Un ulteriore aiuto consiste nell’integrare l’ SDK con un IDE (Integrated Development Environment); esempi come Eclipse e Netbeans rendono bene l’ idea. Infine ricordiamo che il JDK oltre a quello di Oracle ed IBM ve ne sono altri anche di tipo Open Source; ad esempio Open JDK.