Il Java Virtual Machine o JVM , è la piattaforma per i programmi Java . La JVM viene eseguito come un programma su un computer per servire come un ambiente "virtuale" attraverso il quale vengono eseguiti i programmi Java . Per fare questo , ha bisogno propria memoria e strutture di dati . Una di queste strutture dati , l'heap , è essenziale per l'esecuzione del programma Java . L'heap , tuttavia , non costituisce tutta la memoria nella JVM , ma solo una parte di esso . Processi e memoria
La JVM , come qualsiasi altro programma , segue il ciclo di esecuzione di un programma in un computer. In primo luogo , la carica le informazioni del computer dalla JVM file off del disco rigido in memoria centrale , o RAM. Quindi , JVM diventa un processo in esecuzione . I processi in memoria centrale hanno un proprio spazio di indirizzamento , il che significa che la JVM può indirizzare una specifica quantità di memoria . Mentre il programma può richiedere più memoria , il ricordo della JVM è limitato dalla memoria fisica che ha accesso al sistema principale .
La Java Virtual Machine e Memory
< p > All'interno della JVM , la memoria viene rappresentato un modo diverso . La memoria interna della JVM è disponibile per i programmi Java e imita le strutture di memoria all'interno del computer . La memoria interna JVM contiene tutti i dati del programma; soprattutto l' allocazione di memoria oggetto e dinamica eseguita dal programma . Questo gran parte della allocazione della memoria JVM è chiamato " il mucchio ".
Il Mucchio
Java Il Java heap memorizza le informazioni oggetto allocato dinamicamente da il programma . Quando gli oggetti o altre variabili vengono create dinamicamente durante l'esecuzione del programma in linguaggi di programmazione orientati agli oggetti , lo spazio per memorizzare questi oggetti viene da " mucchio. " Il mucchio serve da un pool di spazio da cui il programma può attingere memoria per l'uso nel programma. Nella JVM , il mucchio fornisce la memoria ogni volta che il programma dichiara un oggetto.
Differenze tra Java Heap e Memoria
L'heap è solo una parte del pool di memoria di JVM , comunque . Mentre l'heap memorizza gli oggetti dichiarati dal programma , altre parti della memoria contengono dati importanti per il programma pure. Queste porzioni di memoria può contenere costanti variabili dichiarate dal programma oppure lo stack di runtime che memorizza i riferimenti al codice e metodo dichiarato durante l' esecuzione del programma. La memoria della JVM nel suo insieme contiene tutte le informazioni necessarie per eseguire il programma , nonché i dati di esecuzione costante . Il mucchio , come parte di quella memoria , memorizza le variabili allocate dichiarato dal programma stesso .