La Java Virtual Machine rappresenta la base del linguaggio di programmazione Java . Il software agisce come un buffer di attuazione tra codice Java e il sistema informatico sottostante . Questo consente al codice Java di girare su qualsiasi sistema così com'è , aumentando la portabilità . Dal momento che la JVM esiste come un ambiente in cui eseguire il codice , contiene una propria configurazione di memoria , tra cui ricordo poco profondo e lo spazio heap . Lo spazio heap costituisce una parte significativa della memoria JVM , contenente applicazioni dati critici in fase di esecuzione . Oggetti e memoria
Java rappresenta un linguaggio puramente orientato agli oggetti di programmazione , il che significa che Java contiene i benefici della programmazione orientata agli oggetti , tra cui l'ereditarietà e il polimorfismo . Per includere questi benefici , la JVM deve avere uno spazio per memorizzare oggetti istanziati . Questi oggetti non esistono nella memoria immediata di un filo di esecuzione del codice Java . Piuttosto , il codice Java dichiara "riferimenti" agli oggetti che memorizzano una posizione in , profonda memoria a lungo termine .
Il Heap e Stack
Il cumulo e la impilare rappresentare la differenza tra la memoria a lungo e breve termine in un programma in esecuzione , indipendentemente dal linguaggio orientato agli oggetti . Lo stack riferisce alle variabili immediate e telefonate in un programma in esecuzione del metodo. Questo include variabili scalari , come i numeri interi e byte , così come le funzioni chiamate . Il mucchio , d'altro canto, rappresenta la posizione in cui sono memorizzati gli oggetti creati dal programma . Gli oggetti sono allocati dinamicamente nel mucchio e rimanere lì fino a quando non è più richiesto dal programma .