Guida [GUIDA]Java Virtual Machine (JVM): Introduzione

Stato
Discussione chiusa ad ulteriori risposte.

AquilaReale

Utente Emerald
18 Settembre 2010
1,255
99
183
570
Ultima modifica da un moderatore:
Premessa: Queste guide sono scritte da me a scopo di apportare qualcosa di buono sia ad Inforge che a questa sezione abbandonata.
Le guide sono molto basiche e facili da capire, anche per le persone con scarse conoscenze.

Detto questo, vi auguro una buona lettura.



JAVA VIRTUAL MACHINE (JVM)

La java virtual machine è un "born program" specifico per la esecuzione su una determinata piattaforma o sistema operativo.
La JVM, non multi-piattaforma, è chi aiuta a Java ad esserlo, non so se mi spiego.

Converte i programmi compilati in un source code independente. (Java Class - Bytecode)
Questo processo viene realizzato nel tempo di esecuzione del programma, ecco il motivo per il quale Java è più lento di altri linguaggi, anche se Java ha lavorato sopra questo aspetto migliorando molto la sua efficienza.



Architettura:
La JVM possiede un nucleo che dipende dal sistema operativo, ed una serie di class basici.



Il bytecode:
Il bytecode è il codice intermedio generato al compilare un programma Java.
Una volta compilato il programma, abbiamo bisogno di eseguirlo, a questo ci pensa la JVM.

Denominiamo bytecode ad un archivio binario con estensione .class
Questi .class contengono un codice molti diverso a quello che utilizziamo per sviluppare un programma. In effetti, contengono istruzioni eseguibili nella JVM.



Garbage Collector:
Il garbage collector, o "raccoglitore di spazzatura" è uno degli elementi più importanti della JVM.

Come detto in guide anteriori, una delle caratteristiche e qualità del linguaggio, è la mancanza di punti di memoria. (Il developer non deve preoccuparsi per riservare memoria RAM)

Il responsabile della "pulizia" della memoria RAM dedicata al programma sarà appunto il Garbage Collector.

Il metodo con il quale lavora, cambia a seconda della configurazione della JVM.
Per esempio, possiamo scegliere a che % di memoria libera vogliamo che parta il Garbage Collector.

Generalmente, non dobbiamo configurare nulla. Perché contiene già una configurazione di base molto efficiente.

A livello di codice non dobbiamo nemmeno preoccuparci di richiamarlo, perché si tratta di un processo automatico e semi-intelligente, quindi partirà automaticamente, quando lui creda che sia necessario.

Anche se dispone di tutti questi vantaggi, esiste un metodo per richiamarlo:
(System.gc())

Questo comando non è obbligatorio, ma viene utilizzato molto spesso alla fine di un processo che utilizza molte risorse. Dobbiamo anche sapere, che questo comando propone alla JVM di accendere il garbage collector, non è un comando di esecuzione immediata.


Spero che questa guida vi sia stata utile, continuerò con una guida riguardo i comandi basici della JVM.

Questa guida è stata scritta interamente da me, AquilaReale, per Inforge e la sua community. È vietata la sua distribuzione senza il mio permesso.
Fonti: Libri.

PD: I moderatori hanno il permesso per modificare e/o editare la guida. I commenti costruttivi sono ben accettati.
 
  • Mi piace
Reazioni: Sevenjeak e Dosex
Anche se conosco il java da molto tempo, sapevo cose'era il garbage collection, ma non sapevo che esisteva un comando per richiamarlo manualmente, potresti mettere, cosa che anche io sto vedendo in questi giorni, è, sempre se la mia domanda a senso, come fa il garbage collection a determinare cosa rilasciare e cosa no ( memoria ancora in usa ), non so se mi sono spiegato.

Cmq, bella guida, ma piace.
 
Anche se conosco il java da molto tempo, sapevo cose'era il garbage collection, ma non sapevo che esisteva un comando per richiamarlo manualmente, potresti mettere, cosa che anche io sto vedendo in questi giorni, è, sempre se la mia domanda a senso, come fa il garbage collection a determinare cosa rilasciare e cosa no ( memoria ancora in usa ), non so se mi sono spiegato.

Cmq, bella guida, ma piace.

Certo, provvederò il prima possibbile. Grazie del consiglio!
 
Potresti anche considerare l'idea di formattare meglio il testo.. Titolo al centro, contenuto al centro da davvero una brutta sensazione e non mi fa venire voglia di leggere.. Poi magari sono io..
 
Stato
Discussione chiusa ad ulteriori risposte.