Che cos'è Java Runtime Environment (JRE)?

Persone che lavorano in un ufficio open space affollato

Cos'è JRE?

Java Runtime Environment, o JRE, è un livello software che funziona sopra il software del sistema operativo di un computer e fornisce librerie di classi e altre risorse di cui uno specifico programma Java ha bisogno per essere eseguito.

JRE è uno dei tre componenti interconnessi per lo sviluppo e l'esecuzione di programmi Java. Gli altri due componenti sono i seguenti:

  •  Java Development Kit, o JDK, è un insieme di strumenti per sviluppare applicazioni Java. Gli sviluppatori scelgono i JDK in base alla versione Java e al pacchetto o edizione: Java Enterprise Edition (Java EE), Java Special Edition (Java SE) o Java Mobile Edition (Java ME). Ogni JDK include sempre un JRE compatibile perché eseguire un programma Java fa parte del processo di sviluppo di un programma Java.

  • Java Virtual Machine, o JVM, esegue l'applicazione Java dal vivo. Ogni JRE include un JRE predefinito, ma gli sviluppatori possono sceglierne un altro che soddisfi le specifiche esigenze di risorse delle loro applicazioni.

JRE combina codice Java creato utilizzando JDK con le librerie necessarie per eseguirlo su una JVM, e poi crea un'istanza JVM che esegue il programma risultante. Le JVM sono disponibili per più sistemi operativi e i programmi creati con JRE funzionano su tutti. In questo modo, l'ambiente di tempo di esecuzione Java è ciò che permette a un programma Java di eseguire in qualsiasi sistema operativo senza modifiche.

È possibile scaricare JDK, incluso un JRE compatibile, da Oracle.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e oltre con la newsletter Think. Leggi l' Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Come funziona JRE?

JDK e JRE interagiscono tra loro per creare un ambiente di tempo di esecuzione sostenibile che consente l'esecuzione fluida di applicazioni basate su Java praticamente in qualsiasi sistema operativo. Questi attributi costituiscono l'architettura del runtime JRE:

ClassLoader

Java ClassLoader carica in modo dinamico tutte le classi necessarie per eseguire un programma Java. Poiché le classi Java vengono caricate in memoria solo quando necessario, JRE utilizza ClassLoader per automatizzare questo processo su richiesta.

Verificatore di bytecode

Il verificatore di bytecode garantisce il formato e l'accuratezza del codice Java prima che passi all'interprete. Se il codice viola l'integrità del sistema o i diritti di accesso, la classe sarà considerata corrotta e non verrà caricata.

Interprete

Dopo che il bytecode è stato caricato con successo, l'interprete Java crea un'istanza della JVM che consente di eseguire il programma Java in modo nativo sulla macchina sottostante.

Sviluppo di applicazioni

Sali a bordo: sviluppo di applicazioni Enterprise nel cloud

In questo video il Dr. Peter Haumer illustra l'aspetto del moderno sviluppo di applicazioni aziendali nell'hybrid cloud, mostrando diversi componenti e pratiche, tra cui IBM Z Open Editor, IBM Wazi e Zowe. 

In cosa consiste JRE?

Oltre alla macchina virtuale Java, JRE è composto da vari altri strumenti software di supporto e caratteristiche per ottenere il massimo dalle sue applicazioni.

Soluzioni di distribuzione

L'installazione di JRE include tecnologie di distribuzione come Java Web Start e plug-in Java, che semplificano l'attivazione delle applicazioni e forniscono supporto avanzato per futuri aggiornamenti.

Toolkit di sviluppo

JRE contiene anche toolkit progettati per aiutare gli sviluppatori a migliorare l'interfaccia utente. Alcuni di questi includono:

  • Java 2D: un'application programming interface (API) utilizzata per disegnare grafica bidimensionale nel linguaggio Java. Gli sviluppatori possono creare interfacce utente avanzate, effetti speciali, giochi e animazioni.

  • Abstract Window Toolkit (AWT): Una GUI (Graphical User Interface) utilizzata per creare oggetti, pulsanti, barre di scorrimento e finestre.

  • Swing: un'altra GUI leggera che utilizza un ricco set di widget per offrire personalizzazioni flessibili.

Librerie di integrazione

Java Runtime Environment offre diverse librerie di Integrazione per aiutare gli sviluppatori a creare connessioni dati fluide tra le loro applicazioni e servizi. Alcune di queste librerie includono:

  • Java IDL (CORBA): utilizza la Common Object Request Architecture per supportare oggetti distribuiti scritti nel linguaggio di programmazione Java.

  • API Java Database Connectivity (JDBC): fornisce agli sviluppatori gli strumenti per scrivere applicazioni con accesso a database di relazioni remote, file flat e fogli di calcolo.

  • Java Naming and Directory Interface (JNDI): un'interfaccia di programmazione e servizio di directory che aiuta i client a creare applicazioni portatili in grado di recuperare informazioni dai database utilizzando convenzioni di denominazione.

Librerie di linguaggio e utility

Nel JRE sono inclusi pacchetti java.lang. e java.util. fondamentali per la progettazione di applicazioni Java, il versioning, la gestione e il monitoraggio dei pacchetti. Alcuni di questi includono:

  • Collections Framework: un'architettura unificata composta da una raccolta di interfacce progettate per migliorare lo storage e il processo dei dati delle applicazioni.

  • Concurrency Utilities: un potente pacchetto framework con utility di threading ad alte prestazioni.

  • API delle preferenze: un'API leggera e persistente multipiattaforma che consente a più utenti sullo stesso computer di definire il proprio gruppo di preferenze di applicazione.

  • Registrazione: un pacchetto che produce rapporti di registro, come errori di sicurezza, errori di configurazione e problemi di prestazioni, per ulteriori analisi.

  • Java Archive (JAR): un formato di file indipendente dalla piattaforma che consente di raggruppare più file in formato JAR, migliorando notevolmente la velocità di download e riducendo le dimensioni dei file.
Soluzioni correlate
IBM Enterprise Application Service for Java

Un servizio single-tenant completamente gestito per lo sviluppo e la distribuzione di applicazioni Java.

Esplora le applicazioni Java
Soluzioni DevOps

Utilizza il software e gli strumenti DevOps per creare, distribuire e gestire app cloud-native su più dispositivi e ambienti.

Esplora le soluzioni DevOps
Enterprise Application Development Services

Lo sviluppo di applicazioni cloud significa programmare una volta, iterare rapidamente e distribuire ovunque.

Servizi per lo sviluppo di applicazioni
Fai il passo successivo

I servizi di consulenza per lo sviluppo delle applicazioni IBM Cloud offrono consulenza esperta e soluzioni innovative per semplificare la tua strategia cloud. Collabora con gli esperti di cloud e sviluppo di IBM per modernizzare, scalare e accelerare le tue applicazioni, ottenendo risultati trasformativi per la tua azienda.

Esplora i servizi per lo sviluppo di applicazioni Inizia a creare gratuitamente con IBM Cloud