Cos'è il Java Runtime Environment?

Java Runtime Environment (JRE) è un software necessario per eseguire correttamente i programmi Java. Java è un linguaggio informatico utilizzato per molte applicazioni Web e dispositivi mobili attuali. Il JRE è una tecnologia sottostante che mette in comunicazione il programma Java e il sistema operativo. Funziona come traduttore e semplificatore: fornisce tutte le risorse per consentire al software Java di essere eseguito su tutti i sistemi operativi senza ulteriori modifiche dopo la scrittura.

Per quale motivo il JRE è importante?

Un programma software ha bisogno di un ambiente di esecuzione che fornisca accesso alla memoria e ad altre risorse di sistema, come dipendenze e file di programma. In passato, la maggior parte dei software utilizzava direttamente il sistema operativo come proprio ambiente di esecuzione. Tuttavia, ciò significava che gli sviluppatori dovevano scrivere codici diversi per ogni sistema operativo sul quale volevano eseguire le proprie applicazioni. La tecnologia Java Runtime Environment (JRE) è stata creata come soluzione a questa problematica.

 

Il JRE è in realtà una delle tre componenti della piattaforma Java richieste affinché qualsiasi programma Java possa essere eseguito con successo. Il Java Development Kit (JDK) e la Java Virtual Machine (JVM) sono le altre due componenti.

Java Development Kit

Il JDK è una raccolta di strumenti software utilizzabili per lo sviluppo delle applicazioni Java. Si può impostare il JDK nel proprio ambiente di sviluppo scaricandolo e installandolo. Seleziona la versione del software JDK corrispondente alla versione Java che desideri utilizzare. Per esempio, Java Standard Edition, o Java SE, richiede il JDK Java SE.

Java Virtual Machine

La JVM è un software che esegue il programma Java linea per linea. Gli sviluppatori configurano le impostazioni della JVM per gestire le risorse del programma quando l'applicazione Java è in esecuzione. Per esempio, è possibile modificare le impostazioni di memoria della JVM e verificare quanta memoria interna utilizza l'applicazione Java durante l'esecuzione.

Ruolo del JRE nel linguaggio di programmazione Java

Il JRE combina il codice Java che viene creato utilizzando il JDK con un ulteriore codice integrato chiamato librerie. Esso quindi crea un'istanza JVM, o copia locale, che alla fine esegue i programmi Java. Le JVM sono disponibili per molti sistemi operativi, e il JRE genera una sola copia del proprio codice Java che va in esecuzione su tutti i tipi di JVM. In questo modo, il JRE facilita l'indipendenza della piattaforma per le applicazioni Java. È possibile scriverle una volta ed eseguirle ovunque.

Differenza tra JRE, JVM e JDK

Il JDK è un livello software al di sopra del JRE che contiene un compilatore, un debugger e altri strumenti comunemente trovati in qualsiasi ambiente di sviluppo di software. Nel JDK il codice viene scritto in sintassi inglese. Il JDK lo compila e passa il codice in byte al JRE. Al contrario, il JRE contiene librerie di classi, file di supporto e la JVM. Essa utilizza queste componenti software per eseguire il codice in byte su qualsiasi dispositivo.

Come funziona JRE?

Il Java Runtime Environment (JRE) si esegue in cima al sistema operativo, fornendo ulteriori risorse specifiche di Java. Il Java Development Kit (JDK) e il JRE interagiscono per creare un ambiente di esecuzione sostenibile che esegua i file di programma Java in qualsiasi macchina. Il JRE utilizza tre componenti principali per funzionare.

ClassLoader

Le librerie di classi di Java contengono raccolte di codici pre-scritti che si possono chiamare quando necessario. Essi semplificano il lavoro degli sviluppatori Java fornendo metodi integrati per task comuni e non banali, come ricevere l'input dagli utenti, mostrare l'output agli utenti, e altre. Tutti i programmi Java fanno riferimento a diverse librerie di classi. Il Java ClassLoader carica dinamicamente tutti i file di classe necessari nella Java Virtual Machine (JVM) su richiesta.

Verificatore del bytecode

Il JDK ha un complier che converte il codice in inglese che viene scritto in una versione di linguaggio per macchina, chiamata Java bytecode. Il verificatore di bytecode nel JRE controlla il formato e l'accuratezza del codice Java prima di caricarlo nella JVM. Per esempio, se il codice viola l'integrità del sistema o i diritti di accesso, il JRE non caricherà il file di classe.

Interprete

Dopo che il bytecode carica con successo, l'interprete Java crea l'istanza JVM che esegue il programma Java nella macchina sottostante.

Quali sono i componenti del JRE?

Oltre alle componenti principali, il Java Runtime Environment (JRE) contiene altre diverse componenti software che aiutano i programmi Java a funzionare correttamente. Ecco alcuni esempi:

Strumenti di sviluppo

Il JRE contiene strumenti di sviluppo come il toolkit di interfaccia utente che si può utilizzare per migliorare la qualità della propria applicazione. Ecco alcuni esempi:

Java 2D

Java 2D è un'interfaccia di programmazione di applicazioni (API) che si può utilizzare per disegnare grafici bidimensionali e creare ricche interfaccia utente, giochi, animazioni ed effetti speciali nel linguaggio Java.

Swing

Swing è un'interfaccia utente grafica (GUI) leggera che offre personalizzazioni flessibili e intuitive.

Abstract Window Toolkit

Abstract Window Toolkit (AWT) è una GUI che si può utilizzare per creare oggetti UI come bottoni, finestre e barre di scorrimento.

Soluzioni di distribuzione

Il JRE include tecnologie che semplificano il processo di rilascio di modifiche software agli utenti dell'applicazione. Queste tecnologie forniscono inoltre supporto avanzato per gli aggiornamenti nell'applicazione. Le tecnologie di distribuzione come Java Web Start e Java Plugin sono incluse come parte dell'installazione di JRE. Queste tecnologie semplificano l'attivazione delle applicazioni e forniscono supporto avanzato per futuri aggiornamenti al JRE. Ecco alcuni esempi:

Java Web Start

Con Java Web Start è possibile lanciare applicazioni complete con un solo click dal proprio browser web.

Java Plugin

Java Plugin stabilisce una connessione tra browser popolari e la piattaforma Java così che si possa eseguire gli applet del sito web all'interno di un browser desktop.

Lingua e librerie di utenze

Una raccolta di file di classe Java è chiamata pacchetto Java. Il JRE include diversi pacchetti Java che supportano il controllo delle versioni, la gestione, e il monitoraggio. I seguenti pacchetti ne sono alcuni esempi:

Framework di raccolte

Il framework di raccolte è un'architettura unificata che include interfacce per il miglioramento dell'archiviazione e dell'elaborazione dei dati dell'applicazione.

Preferences API

La Preferences API permette a più utenti nella stessa macchina di definire il proprio gruppo di preferenze di applicazione.

Accesso

I pacchetti di registrazione emettono report di registro per incidenti nella risoluzione dei problemi, come falle di sicurezza, problemi di performance ed errori di configurazione.

Java Archive

Java Archive (JAR) è un formato di file indipendente dalla piattaforma che permette di raggruppare molteplici file per ridurre la dimensione dei file dell'applicazione e aumentare significativamente la velocità di download.

Librerie di integrazione

Il JRE include molteplici librerie di integrazione che assistono gli sviluppatori nella creazione di connessioni dati perfette tra i propri servizi e le applicazioni. Di seguito sono riportati alcuni esempi:

Java IDL

Java Interface Definition Language (IDL), basato sul Common Object Request Broker Architecture (CORBA), supporta i dati oggetto distribuiti - ovvero gli oggetti che interagiscono su diverse piattaforme attraverso una rete. Per esempio, Java IDL permette agli oggetti scritti in Java di interagire con quelli scritti in un altro linguaggio, come C, C++ o COBOL.

Java Database Connectivity

Gli sviluppatori utilizzano l'API Java Database Connectivity (JDBC) per scrivere applicazioni che possono accedere a database, fogli elettronici e file da remoto.

Java Naming and Directory Interface

Java Naming and Directory Interface (JNDI) è un servizio di directory che permette ai client di creare applicazioni portatili che recuperano informazioni da database esterni utilizzando le regole di naming.

Che cos'è l'SDK AWS per Java?

Il Software Development Kit (SDK) di AWS per Java semplifica l'utilizzo dei servizi AWS grazie all'offerta di una serie di librerie coerenti e ben note tra gli sviluppatori Java. Supporta anche astrazioni di livello superiore per lo sviluppo semplificato. Le librerie Java open-source incentrate su AWS sono disponibili insieme ad esempi di codice e a una Guida di riferimento per le API Java.

 

Gli esempi di codice AWS SDK per Java 2.0 su GitHub contengono esempi di codici Java e casi d'uso reali per i servizi AWS utili per accelerare lo sviluppo delle proprie applicazioni. Inoltre, la Guida di riferimento per le API AWS SDK per Java descrive le operazioni API per la versione più recente di AWS SDK per Java. In questa Guida di riferimento vengono inoltre forniti richieste, risposte ed errori di esempio per i protocolli dei servizi Web supportati.

 

Inizia a utilizzare subito AWS SDK per Java facendo riferimento alla Guida per sviluppatori di AWS SDK per Java oppure visita il Centro sviluppatori Java di AWS.                                       

Fasi successive su AWS