Quali sono i componenti di Java Architecture?



Java Architecture combina il processo di compilazione e interpretazione. In questo articolo, ti parlerò dei vari componenti dell'architettura Java

Java Architecture combina il processo di compilazione e interpretazione. Spiega i vari processi coinvolti durante la formulazione di un file . Prima di iniziare con l'argomento lascia che ti presenti l'ordine del giorno di questo articolo.

I suggerimenti di seguito indicati saranno i nostri argomenti di discussione:





Cominciamo col capire cos'è esattamente l'architettura Java?



Cos'è l'architettura Java?

Qui ti spiegherò l'architettura java in semplici passaggi.

  • In Java, c'è un processo di compilazione e interpretazione.
  • Il codice scritto in , viene convertito in codici byte che viene eseguito dal compilatore Java.
  • I codici byte, quindi, vengono convertiti in codice macchina dalla JVM.
  • Il codice macchina viene eseguito direttamente dalla macchina.

Questo diagramma illustra il funzionamento interno di un codice Java, o precisamente, Java Architecture!



JVM - Architettura Java - EdurekaOra, scaviamo un po 'più a fondo nell'architettura Java e parliamo di vari .

Componenti dell'architettura Java

Ci sono tre componenti principali del linguaggio Java: JVM, JRE e JDK .

Java Virtual Machine, Java Runtime Environment e Java Development Kit rispettivamente.

qual è il quadro primaverile

Consentitemi di elaborarli uno per uno:

Macchina virtuale Java:

Mai sentito parlare di WORA? (Scrivi una volta Run Anywhere). Ebbene, le applicazioni Java sono chiamate WORA per la loro capacità di eseguire un codice su qualsiasi piattaforma. Questo viene fatto solo a causa di JVM. La JVM è un componente della piattaforma Java che fornisce un ambiente per l'esecuzione di programmi Java. JVM interpreta il bytecode in codice macchina che viene eseguito nella macchina in cui viene eseguito il programma Java.

Quindi, in poche parole, JVM svolge le seguenti funzioni:

  • Carica il codice
  • Verifica il codice
  • Esegue il codice
  • Fornisce l'ambiente di runtime

Ora, lascia che ti mostri l'architettura JVM. Ecco qui!

Spiegazione:

Caricatore di classi : Class loader è un sottosistema di JVM. Viene utilizzato per caricare i file di classe. Ogni volta che eseguiamo il programma java, il programma di caricamento classi lo carica per primo.

Area metodo di classe : È una delle aree dati in JVM, in cui verranno archiviati i dati della classe. Variabili statiche, blocchi statici, metodi statici, metodi di istanza sono memorizzati in quest'area.

Mucchio : Viene creato un heap all'avvio della JVM. Può aumentare o diminuire di dimensioni durante l'esecuzione dell'applicazione.

Pila : Lo stack JVM è noto come stack di thread. È un'area dati nella memoria JVM creata per un singolo thread di esecuzione. Lo stack JVM di un thread viene utilizzato dal thread per memorizzare vari elementi, ad esempio variabili locali, risultati parziali e dati per chiamare il metodo e restituire.

Stack nativo : Riassume tutti i metodi nativi utilizzati nell'applicazione.

Motore di esecuzione:

  • Compilatore Jit
  • Netturbino

Compilatore JIT: Il Compilatore Just-In-Time (JIT) è una parte dell'ambiente di runtime. Aiuta a migliorare le prestazioni delle applicazioni Java compilando bytecode in codice macchina in fase di esecuzione. Il compilatore JIT è abilitato per impostazione predefinita. Quando un metodo viene compilato, la JVM chiama direttamente il codice compilato di quel metodo. Il compilatore JIT compila il bytecode di quel metodo in codice macchina, compilandolo 'appena in tempo' per essere eseguito.

Netturbino: Come spiega il nome Netturbino significa raccogliere il materiale inutilizzato. Bene, in JVM questo lavoro è svolto dalla Garbage Collection. Tiene traccia di ogni oggetto disponibile nello spazio heap JVM e rimuove quelli indesiderati.
Garbage collector funziona in due semplici passaggi noti come Mark and Sweep:

  • Mark - è dove il garbage collector identifica quale pezzo di memoria è in uso e quali no
  • Sweep - rimuove gli oggetti identificati durante la fase di 'mark'.

Java Runtime Environment:

Il software JRE crea un ambiente runtime in cui è possibile eseguire i programmi Java. JRE è il sistema su disco che prende il codice Java, lo combina con le librerie necessarie e avvia la JVM per eseguirlo. JRE contiene le librerie e il software necessari per l'esecuzione dei programmi Java. JRE fa parte di JDK (che studieremo più avanti) ma può essere scaricato separatamente.

Kit di sviluppo Java:

Il Java Development Kit (JDK) è un ambiente di sviluppo software utilizzato per sviluppare applicazioni e applet Java. Contiene JRE e diversi strumenti di sviluppo, un interprete / caricatore (java), un compilatore (javac), un archiviatore (jar), un generatore di documentazione (javadoc) accompagnato da un altro strumento.

L'area blu mostrata nel diagramma è JDK. Ora, lasciate che vi elabori gli strumenti di sviluppo.

Giava : è il launcher per tutte le applicazioni java.
javac : compilatore dei linguaggi di programmazione java.
javadoc : è il generatore di documentazione API.
vaso : crea e gestisce tutti i file JAR.

Andando avanti con l'architettura Java, cerchiamo di capire come la piattaforma Java è indipendente?

In che modo la piattaforma Java è indipendente?

Quando viene definito un linguaggio di programmazione indipendente dalla piattaforma? Ebbene, se e solo se può funzionare su tutti i sistemi operativi disponibili rispetto al suo sviluppo e compilazione.
Adesso, Giava è indipendente dalla piattaforma solo a causa del bytecode. Lascia che ti dica cos'è esattamente un bytecode? In parole povere,
Bytecode è un codice della JVM comprensibile dalla macchina.
L'esecuzione di bytecode in Java dimostra che è un linguaggio indipendente dalla piattaforma.
Qui, ti mostrerò i passaggi coinvolti nel processo di esecuzione del bytecode java.

Di seguito è riportata la spiegazione dei passaggi coinvolti:

sample.java → javac (sample. class) → JVM (sample.obj) → output finale

Il primo codice sorgente viene utilizzato dal compilatore java e viene convertito in un file .class. Il codice del file di classe è in formato codice byte e tale file di classe viene utilizzato da JVM per convertirlo in un file oggetto. Dopodiché, puoi vedere l'output finale sullo schermo.

Andando avanti nell'articolo sull'architettura Java, cerchiamo di capire il concetto di JIT in Java .

JIT in Java

Il compilatore Just In Time comunemente noto come JIT, è fondamentalmente responsabile dell'ottimizzazione delle prestazioni delle applicazioni basate su Java in fase di esecuzione. Le prestazioni di un'applicazione dipendono da un compilatore.
Ecco un semplice diagramma che mostra il processo interno in corso.

Compilatore JIT - Architettura Java - Edureka

Il compilatore JIT compila il codice byte del metodo in codice macchina, compilandolo 'Just In Time' per l'esecuzione. Quando un metodo viene compilato, la JVM chiama direttamente il codice compilato di quel metodo.
Approfondiamo:
Il codice byte deve essere interpretato o compilato secondo le corrette istruzioni della macchina a seconda del set di istruzioni fornito. Inoltre, questi possono essere eseguiti direttamente se l'architettura dell'istruzione è basata sul codice byte. L'interpretazione del codice byte influisce sulla velocità di esecuzione.
Al fine di migliorare le prestazioni, i compilatori JIT interagiscono con la Java Virtual Machine (JVM) in fase di esecuzione e compilano sequenze di bytecode adeguate nel codice macchina nativo (come mostrato nel diagramma). Durante l'utilizzo di un compilatore JIT, l'hardware è in grado di eseguire il codice nativo, rispetto al fatto che la JVM interpreti ripetutamente la stessa sequenza di bytecode e incorra in overhead per il processo di traduzione.

Con questo, sono arrivato verso la fine di questo articolo sull'architettura Java. Spero che gli argomenti sopra discussi abbiano aggiunto valore alla tua conoscenza di Java. Restate sintonizzati per altri articoli!

Ora che hai compreso le basi di Java, controlla il file da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per studenti e professionisti che desiderano diventare sviluppatori Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti per concetti Java sia di base che avanzati insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo blog 'Architettura Java e suoi componenti' e ti risponderemo il prima possibile.