Architettura JVM
L'architettura interna di Java Virtual Machine è composta da tre parti principali.
1. Classloader
2. Area di memoria
3. Motore di esecuzione
Ecco una rappresentazione visiva dell'architettura JVM.
Sotto tutte le parti della macchina virtuale Java sono spiegati in dettaglio.
Classloader
Un Classloader in JVM si riferisce a un sottosistema responsabile del caricamento di file. Carica un programma Java ogni volta che eseguiamo un programma Java. Java fornisce i seguenti classloader.
UN. Bootstrap Classloader
Una superclasse di Classloader di estensione responsabile del caricamento di RT.File Jar
B. Classloader di estensione
Un figlio del classloader bootstrap e genitore del classloader System/Application, Extension ClassLoader carica i file JAR salvati nella directory.
C. Classloader di sistema/applicazione
Questo caricatore di classe carica i file di classe da ClassPath ed è un figlio di ClassLoader di estensione.
Area di memoria
Un'area di memoria JVM è costituita dalle seguenti parti.
UN. Area metodo
Lo scopo dell'area del metodo è salvare la struttura di classi come dati del metodo o dati sul campo, pool di runtime e codice per metodi.
B. Mucchio
Heap è un'area dati di runtime in cui vengono assegnati gli oggetti.
C. Pile
Stack è responsabile della memorizzazione di cornici, variabili locali e risultati parziali. Ha un ruolo importante nell'invocazione del metodo e nel reso del metodo. Ogni volta che viene creato un thread, viene creato uno stack JVM privato per quel particolare thread e viene creato un nuovo frame ogni volta che viene invocato un metodo e non appena l'invocazione termina il frame viene distrutto.
D. Registri PC
È responsabile di tenere gli indirizzi mentre vengono eseguite le istruzioni JVM.
e. Metodo nativo impilamenti
È responsabile per tenere tutti i metodi nativi richiesti in un'applicazione.
Motore di esecuzione
Un motore di esecuzione è costituito da quanto segue.
UN. Interprete
Esegue le istruzioni dopo aver letto il flusso di bytecode.
B. Compilatore just-in-time (JIT)
JIT migliora le prestazioni compilando parti di bytecode con funzionalità simili allo stesso modo, d'ora in poi, riducendo il tempo di compilazione complessivo.
C.Netturbino
Viene utilizzato per raccogliere oggetti che non sono referenziati e rimuoverli per liberare la memoria.
Interfaccia del metodo nativo
Aiuta a comunicare con applicazioni scritte in lingue diverse come C, C ++, ecc. È anche responsabile dell'aiutare il codice Java in esecuzione in JVM a chiamare librerie e applicazioni native.
Librerie di metodi
È costituito da biblioteche native (C, C ++) necessarie per il motore di esecuzione.
Conclusione
Java Virtual Machine (JVM) è una macchina astratta creata per eseguire programmi Java. L'architettura di JVM comprende tre parti principali che sono classloader, area di memoria e un motore di esecuzione. L'area di memoria e il motore di esecuzione sono inoltre consistono in alcune parti che hanno funzionalità diverse. Questo tutorial spiega l'architettura di Java Virtual Machine (JVM) che evidenzia le funzioni dei suoi diversi componenti.