Lezione di Java 5 – Come funziona la JVM

Indice Lezione PrecedenteLezione Successiva


Nella seconda lezione abbiamo visto cos’è la Java Virtual Machine, mentre nella lezione precedente abbiamo scritto il nostro primo programma in Java. In questa lezione vedremo da vicino cosa accade quando un programma viene mandato in compilazione ed in esecuzione nella JVM.

Il nostro programma è costituito da due classi, ognuna delle quali è contenute in un file differente (si noti il marcatore di visibilità public per entrambe le classi):

File: Saluto.java

1: public class Saluto {
2:   public String saluto;
3:   Saluto(String sal) {
4:     saluto=sal;
5:   }
6:   public void salutami(String nome) {
7:     System.out.println("Ciao " + nome);
8:   }
9: }

File: TestSaluto.java

1: public class TestSaluto {
2:   public static void main(String args[]) {
3:     Saluto ciao = new Saluto("Ciao");
4:     ciao.salutami("Andrea");
5:   }
6: }

Avendo i due file nella stessa cartella, possiamo compilarli:

$ javac TestSaluto.java

avremo che si saranno creati 2 file .class: TestSaluto.class e Saluto.class
mandiamo in esecuzione:

$ java TestSaluto
Ciao Andrea

com’è possibile che se compilando ed eseguendo solo il file TestSaluto viene usata anche la classe Saluto? La risposta è semplice, è dovuto al meccanismo di come funziona la Java Virtual Machine. Quando viene compilato il file TestSaluto.java la JVM si trova un riferimento ad una classe non definita nello stesso file (new Saluto(“Ciao”);), la va a cercare nella cartella corrente, trovandola la compila. Lo stesso discorso vale per l’esecuzione.

Attenzione, se nella cartella sono presenti altre classe, la JVM non le carica in memoria, caricherà solo quelle di cui ha bisogno!

Nella prossima lezione analizzeremo più nel dettaglio tutto ciò che abbiamo appreso fin’ora in maniera più teorica, spiegando elementi che in questa lezione non sono state analizzate nello specifico come il “metodo” Saluto della classe Saluto.java.

Ti piace l’articolo?
Diventa fan su Facebook
Indice Lezione PrecedenteLezione Successiva
Pubblicato in Guide, Guide, Java, Programmazione Taggato con: , ,
2 comments on “Lezione di Java 5 – Come funziona la JVM
  1. Tokie scrive:

    Ciao,
    innanzitutto complimenti per la guida che per uno come me a cui piacerebbe imparare Android è fondamentale.
    Mi permetto di segnalarti un errore(o almeno spero ;-P ) :
    “3: Saluti ciao = new Saluto(“Ciao”);”
    credo che dovrebbe essere :
    “3: Saluto ciao = new Saluto(“Ciao”);”

    Ciao ed ancora complimenti

    Tokie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*