java components java platform
Questo tutorial fornisce una descrizione dettagliata di Java come piattaforma e dei suoi componenti, ad esempio JRE, JDK, Java Virtual Machine e differenza tra JRE e JDK:
Java è stato descritto come un linguaggio di programmazione oltre che come piattaforma. Nel nostro tutorial introduttivo, abbiamo già discusso che una piattaforma è un ambiente software utilizzando il quale possiamo eseguire programmi o applicazioni.
In questo tutorial, discuteremo di Java, come piattaforma. Discuteremo anche dei componenti della piattaforma Java e vedremo come funzionano.
=> Leggere attraverso la serie di formazione Easy Java.
Cosa imparerai:
Piattaforma Java
La piattaforma Java è un software o una raccolta di programmi che ci aiutano a eseguire applicazioni scritte in linguaggio di programmazione Java. Una piattaforma Java è costituita da un compilatore Java, un set di librerie e un motore di esecuzione.
La piattaforma Java è indipendente da qualsiasi particolare sistema operativo che rende il linguaggio di programmazione Java un linguaggio indipendente dalla piattaforma.
La piattaforma Java è costituita dai seguenti componenti.
- Linguaggio Java
- Il Java Development Kit (JDK)
- Il Java Runtime Environment (JRE)
- Il compilatore Java
- La Java Virtual Machine (JVM)
Oltre ai componenti principali di cui sopra, la piattaforma Java contiene anche garbage collector, un set di librerie e altri componenti e strumenti aggiuntivi necessari per eseguire in modo efficiente le applicazioni Java.
Consideriamo il seguente diagramma che descrive la relazione tra tutti questi componenti.
modellazione dimensionale in data warehouse con esempio
Quindi dal diagramma sopra, possiamo concludere che,
JRE = JVM + classi di libreria.
JDK = JRE + Strumenti per sviluppatori.
Prima di occuparci di ciascuno dei componenti, vediamo innanzitutto il flusso di esecuzione dell'esecuzione del programma Java.
Il diagramma seguente mostra il flusso di un programma Java.
Quindi il diagramma sopra mostra un semplice flusso di esecuzione per un programma Java. Un programma scritto in linguaggio Java viene compilato dal compilatore Java (javac). A differenza di altri compilatori di linguaggio che generano codice macchina dopo la compilazione, il compilatore Javac genera un file di classe costituito da codice byte.
Ora, questo file di classe viene fornito a Java Virtual Machine (JVM) che traduce il file di classe in un file oggetto contenente codice dipendente dalla macchina. Quindi questo codice viene eseguito dalla macchina.
Discutiamo in dettaglio ciascuno di questi componenti.
Java Language
Java è un linguaggio di programmazione utilizzato dalla piattaforma Java. Java è un linguaggio di programmazione orientato agli oggetti la cui sintassi deriva da C e le funzionalità OOPS derivano da C ++. Ha la sua sintassi, regole, formato e paradigma di programmazione.
In questa serie impareremo in dettaglio tutti i principali concetti di Java e programmazione.
Il compilatore Java
Questo è un compilatore per il linguaggio di programmazione Java e la sua funzione è quella di generare file di classe Java dal codice sorgente Java. Il file di classe Java contiene un codice byte Java indipendente dalla piattaforma.
Dopo aver generato i file di classe, JVM carica questi file di classe e interpreta il codice byte o lo compila in codice macchina utilizzando il compilatore Just-in-time (JIT).
La Java Virtual Machine (JVM)
JVM è il centro del linguaggio di programmazione Java e della piattaforma Java. La JVM converte il codice byte in codice specifico della macchina (noto anche come codice oggetto in altri linguaggi di programmazione).
qual è il miglior sito di download gratuito di mp3?
JVM fornisce le funzionalità di garbage collection, gestione della memoria, sicurezza, ecc. JVM è indipendente dalla piattaforma e possiamo personalizzarne la funzionalità utilizzando un'interfaccia virtuale che fornisce che non dipende dalla macchina ed è anche indipendente dal sistema operativo.
Questa indipendenza dalla piattaforma di JVM ci consente di creare programmi Java su una macchina ed eseguirli su un'altra macchina (WORA - Write - Once - Run - Anywhere).
Il diagramma seguente illustra le varie parti di una JVM.
La JVM è presente sulla RAM. Quando il programma Java viene convertito in un file di classe dal compilatore Java, deve essere eseguito.
Per l'esecuzione, il file di classe viene portato sulla RAM dal caricatore di classi. Qui il codice BYTE viene verificato per eventuali problemi di sicurezza. Classloader è anche responsabile del caricamento, collegamento e inizializzazione del programma da eseguire.
La memoria JVM mostrata nel diagramma sopra contiene vari componenti come mostrato e aiutano nell'esecuzione del programma tenendo i registri del PC che contengono l'istruzione corrente da eseguire, Heap che contiene variabili, array, ecc.
La memoria JVM contiene anche l'area del metodo e lo stack del metodo nativo che contiene rispettivamente il codice del metodo e la specifica della lingua nativa. Lo stack JVM contiene l'istanza del programma o il thread corrente. Se è presente più di un thread, ogni thread avrà il proprio stack JVM.
Una volta che il programma è correttamente collegato, viene passato al motore di esecuzione. Il motore di esecuzione collabora con l'interfaccia del metodo nativo e le librerie dei metodi nativi. L'interfaccia del metodo nativo è un framework di programmazione che consente al codice Java di chiamare librerie e applicazioni native che fanno parte delle librerie dei metodi nativi.
Successivamente, il motore di esecuzione converte il Bytecode in codice macchina nativo utilizzando il compilatore just-in-time (JIT). Quindi il programma viene eseguito dalla macchina.
Nota: JIT o Il compilatore just-in-time fa parte della Java Virtual Machine (JVM). Interpreta una parte del codice byte che ha funzionalità simili allo stesso tempo. In altre parole, converte il codice byte in codice macchina nativo allo stesso livello di programmazione. Questo è il motivo per cui Java è compilato così come un linguaggio interpretato.
Il Java Runtime Environment (JRE)
JRE, come suggerisce il nome, è l'ambiente di runtime necessario per eseguire programmi e applicazioni Java. JRE è costituito da Java Virtual Machine (JVM) e file binari e altre classi per eseguire correttamente i programmi Java.
JRE è un sottoinsieme di JDK e non contiene strumenti di sviluppo come compilatore Java, debugger, ecc. Quindi, se le tue applicazioni Java sono sviluppate altrove e devi eseguirle solo sulla tua macchina, puoi installare JRE separatamente. È necessario installare JDK per questo.
Hai bisogno di un JRE installato sulla tua macchina in quanto è il requisito minimo per eseguire programmi Java sulla tua macchina.
Il JRE include i seguenti componenti.
- Librerie di codici, impostazioni delle proprietà e file di risorse : Includono file come charsets.jar, rt.jar, ecc.
- File DLL : Utilizzato dalla macchina virtuale del client hotspot Java e dalla macchina virtuale del server.
- File di estensione Java : Per esempio, file relativi alla specifica locale come localedata.jar
- File necessario per la gestione della sicurezza. Per esempio, java.policy, java.security
- Classi di supporto applet.
- File di caratteri True Type : Normalmente richiesto dalla piattaforma.
Per eseguire qualsiasi applicazione / programma scritto in Java, è necessario che JRE sia installato sul sistema. JRE dipende dalla piattaforma. Ciò significa che devi scaricare e installare JRE compatibile con il tuo sistema operativo e l'architettura.
Il Java Development Kit (JDK)
Questo è il componente principale di qualsiasi ambiente Java. JDK contiene JRE (Java Runtime Environment) insieme al compilatore Java, al debugger Java e ad altre classi principali. JDK viene utilizzato per lo sviluppo Java in quanto fornisce l'intero eseguibile e binari, nonché gli strumenti necessari per compilare ed eseguire il debug di un programma Java.
JDK è un software specifico della piattaforma e quindi avremo programmi di installazione JDK separati per ogni sistema operativo.
JDK contiene i seguenti componenti:
- jConsole : Questa è una console di gestione e monitoraggio Java.
- vaso : Questo è l'archiviatore. Questo strumento viene utilizzato per impacchettare le librerie di classi correlate in un singolo file Jar e per gestire i file Jar.
- jarSigner : Questo strumento viene utilizzato per la firma e la verifica dei jar.
- javap: Questo è uno strumento per il disassemblatore di file di classe.
- javaws : Lanciatore di avvio Web Java per applicazioni JNLP.
- jhat : Strumento di analisi dell'heap Java.
- jrunscript : Shell di script della riga di comando Java.
- jstack : Utilità utilizzata per stampare le tracce dello stack per i thread Java.
- Javadoc : Questo genera automaticamente la documentazione dai commenti del codice sorgente.
- appletviewer : Utilizzato per l'esecuzione di applet e il debug senza un browser web.
- apt : Strumento di elaborazione delle annotazioni.
- extCheck : Utilità utilizzata per controllare i conflitti di file jar.
- keytool : Usando questa utility puoi manipolare Keystore.
- policytool : Questo è uno strumento per la creazione e la gestione delle politiche.
- xjc : Questa è una parte dell'API di associazione XML (JAXB) che accetta lo schema XML e genera classi Java.
Così puoi vedere che i componenti di JDK sono quelli che ci vengono richiesti dal punto di vista dello sviluppo.
1nf 2nf 3nf bcnf con esempio
Come mostrato nel diagramma sopra, il codice sorgente Java viene convertito in codici byte dal compilatore Java che fa parte di JDK. Quindi questo byte code viene passato a JVM (questo processo già descritto sopra) e da lì va a JRE dove viene eseguito il codice.
Dopo aver visto i dettagli su JDK e JRE, ora parliamo delle differenze tra JRE e JDK.
JRE Vs JDK
Non | JRE | JDK |
---|---|---|
7 | Accetta il programma Java compilato / interpretato come input e genera output. | Programma sorgente Java compilato e genera un file di classe che viene quindi fornito a JVM. |
1 | JRE sta per Java Runtime Environment. | JDK sta per Java Development Kit. |
Due | Utilizzato principalmente per l'esecuzione di programmi Java. | JDK viene utilizzato dagli sviluppatori per sviluppare programmi Java. |
3 | Contiene Java Virtual Machine (JVM) in bundle al suo interno. | Non ha JVM. |
4 | JRE non ha un compilatore Java, quindi non può compilare programmi. | JDK ha un compilatore javac ed è responsabile della compilazione dei programmi. |
5 | Contiene la libreria di classi Java, il comando Java e altre infrastrutture. | JDK contiene strumenti come Javadoc e archiver che vengono utilizzati per sviluppare applicazioni Java. |
6 | JRE può essere installato come programma autonomo. | JDK è un programma di installazione separato e viene fornito in bundle con JRE. |
Conclusione
In questo tutorial, abbiamo discusso i dettagli del Java Development Kit (JDK) fornito in bundle con Java Runtime Environment (JRE) e il compilatore Java. JRE, a sua volta, contiene Java Virtual Machine (JVM) che è responsabile della conversione del codice byte generato dal compilatore Java in codice specifico della macchina.
Tutti questi, incluso il linguaggio Java, sono componenti di un'entità madre chiamata piattaforma Java che è un ambiente che ci aiuta a eseguire un'applicazione Java. Abbiamo anche discusso l'architettura dettagliata e il funzionamento di JVM così come l'esecuzione di un programma Java qui.
=> Dai un'occhiata alla guida per principianti di Java qui.
Lettura consigliata
- Java Virtual Machine: come JVM aiuta nell'esecuzione di applicazioni Java
- Tutorial Java SWING: contenitore, componenti e gestione degli eventi
- Distribuzione Java: creazione ed esecuzione di file JAR Java
- Modificatori di accesso in Java - Tutorial con esempi
- Tutorial Java Reflection con esempi
- Introduzione al linguaggio di programmazione Java - Tutorial video
- Tutorial JAVA per principianti: oltre 100 tutorial video Java pratici
- Java OOP: Introduzione alla programmazione orientata agli oggetti in Java