Architettura Java è una raccolta di componenti, cioè JVM, JRE, E JDK . Esso integra il processo di interpretazione e compilazione. Definisce tutti i processi coinvolti nella creazione di un programma Java. Architettura Java spiega ogni singolo passaggio di come un programma viene compilato ed eseguito.
Architettura Java può essere spiegato utilizzando i seguenti passaggi:
come mostrare l'applicazione su Android
- Esiste un processo di compilazione e interpretazione in Java.
- Il compilatore Java converte il codice Java in codice byte.
- Successivamente, la JVM converte il codice byte in codice macchina.
- Il codice macchina viene quindi eseguito dalla macchina.
La figura seguente rappresenta il Architettura Java in cui ogni passaggio è elaborato graficamente.
Ora tuffiamoci in profondità per ottenere maggiori informazioni Architettura Java . Poiché sappiamo che l'architettura Java è una raccolta di componenti, discuteremo ogni singolo componente in dettaglio.
Componenti dell'architettura Java
L'architettura Java comprende i tre componenti principali:
- Macchina virtuale Java (JVM)
- Ambiente runtime Java (JRE)
- Kit di sviluppo Java (JDK)
macchina virtuale Java
La caratteristica principale di Java è WORA . WORA sta per Scrivi una volta e corri ovunque . La funzionalità afferma che possiamo scrivere il nostro codice una volta e utilizzarlo ovunque o su qualsiasi sistema operativo. Il nostro programma Java può eseguire qualsiasi piattaforma solo grazie alla Java Virtual Machine. È un componente della piattaforma Java che ci fornisce un ambiente per eseguire programmi Java. Il compito principale di JVM è convertire il codice byte in codice macchina.
JVM, innanzitutto, carica il codice in memoria e lo verifica. Successivamente, esegue il codice e fornisce un ambiente runtime. Macchina virtuale Java (JVM) ha una propria architettura, che è riportata di seguito:
Architettura JVM
JVM è una macchina astratta che fornisce l'ambiente in cui viene eseguito il bytecode Java. La figura che cade rappresenta l'architettura della JVM.
Caricatore di classi: ClassLoader è un sottosistema utilizzato per caricare file di classe. ClassLoader carica prima il codice Java ogni volta che lo eseguiamo.
Area del metodo di classe: Nella memoria c'è un'area in cui vengono archiviati i dati della classe durante l'esecuzione del codice. L'area del metodo della classe contiene le informazioni su variabili statiche, metodi statici, blocchi statici e metodi di istanza.
Mucchio: L'area heap fa parte della memoria JVM e viene creata all'avvio della JVM. La sua dimensione non può essere statica perché aumenta o diminuisce durante l'esecuzione dell'applicazione.
Pila: Viene anche chiamato stack di thread. Viene creato per un singolo thread di esecuzione. Il thread utilizza quest'area per memorizzare elementi come il risultato parziale, la variabile locale, i dati utilizzati per chiamare il metodo e i rendimenti, ecc.
Stack nativo: Contiene le informazioni di tutti i metodi nativi utilizzati nella nostra applicazione.
Motore di esecuzione: È la parte centrale della JVM. Il suo compito principale è eseguire il codice byte ed eseguire le classi Java. Il motore di esecuzione ha tre componenti principali utilizzati per l'esecuzione delle classi Java.
Interfaccia nativa Java
dipendenza parziale
Java Native Interface funziona come mediatore tra le chiamate al metodo Java e le librerie native.
Ambiente runtime Java
Fornisce un ambiente in cui vengono eseguiti i programmi Java. JRE prende il nostro codice Java, lo integra con le librerie richieste e quindi avvia la JVM per eseguirlo. Per saperne di più su Java Runtime Environment, clicca qui .
Kit di sviluppo Java
È un ambiente di sviluppo software utilizzato nello sviluppo di applicazioni e applet Java. Java Development Kit contiene JRE, un compilatore, un interprete o caricatore e diversi strumenti di sviluppo al suo interno. Per ulteriori informazioni sul Java Development Kit, fare clic qui.
Questi sono i tre componenti principali dell'architettura Java. L'esecuzione di un programma avviene con tutti e tre questi componenti.