Cos'è il JRE (Java Runtime Environment)?
Scopri cosa fa il JRE (Java Runtime Environment) e come funziona con altri componenti della piattaforma Java per eseguire applicazioni Java.
Iscriviti alla newsletter di IBM
sfondo nero e blu
Cos'è il JRE?

Il Java Runtime Environment, o JRE, è un livello software che viene eseguito in aggiunta al software del sistema operativo di un computer e fornisce le librerie  di classi e altre risorse di cui uno specifico programma Java ha bisogno per funzionare.

Il JRE è uno dei tre componenti interconnessi per sviluppare ed eseguire programmi Java. Gli altri due componenti sono i seguenti:

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

  • La Java Virtual Machine, o JVM, esegue applicazioni Java attive. Ogni JRE include un JRE predefinito, ma gli sviluppatori sono liberi di sceglierne un altro che soddisfi le specifiche esigenze di risorse delle loro applicazioni.

Il JRE combina il codice Java creato usando il JDK con le librerie necessarie per eseguirlo su una JVM e poi crea un'istanza della JVM che esegue il programma risultante. Le JVM sono disponibili per più sistemi operativi e i programmi creati con il JRE verranno eseguiti su tutti loro. In questo modo il Java Runtime Environment consente a un programma Java di essere eseguito in qualsiasi sistema operativo senza modifiche.

Puoi scaricare il JDK, incluso un JRE compatibile, da Oracle  (link esterno a ibm.com).

Come funziona il JRE?

Il JDK e il JRE interagiscono tra loro per creare un ambiente di runtime sostenibile che abilita l'esecuzione senza soluzione di continuità di applicazioni basate su Java praticamente in qualsiasi sistema operativo. Gli elementi di seguito indicati costituiscono l'architettura del runtime JRE:

ClassLoader

Il ClassLoader Java carica dinamicamente tutte le classi necessarie per eseguire un programma Java. Poiché le classi Java vengono caricate in memoria solo quando sono necessarie, il JRE utilizza i ClassLoader per automatizzare questo processo on-demand.

Verificatore bytecode

Il verificatore bytecode garantisce il formato e l'accuratezza del codice Java prima che passi all'interprete. Nel caso in cui il codice violasse l'integrità del sistema o i diritti di accesso, la classe viene considerata danneggiata e non viene caricata.

Interprete

Dopo il corretto caricamento del bytecode, l'interprete Java crea un'istanza della JVM che consente di eseguire in modo nativo il programma Java sulla macchina sottostante.

In cosa consiste il JRE?

Oltre alla Java Virtual Machine, il JRE è composto da una varietà di altre funzioni e altri strumenti software di supporto per ottenere il massimo dalle tue applicazioni Java.

Soluzioni di implementazione

Come parte dell'installazione del JRE, sono incluse delle tecnologie di implementazione come Java Web Start e Java Plugin che semplificano l'attivazione delle applicazioni e forniscono un advanced support (supporto avanzato) per futuri aggiornamenti di Java.

Toolkit di sviluppo

Il JRE contiene anche dei toolkit progettati per aiutare gli sviluppatori a migliorare la loro interfaccia utente. Alcuni di questi toolkit includono:

  • Java 2D: un'API (Application Programming Interface) utilizzata per tracciare grafici bidimensionali in linguaggio Java. Gli sviluppatori possono creare ricche interfacce utente, effetti speciali, giochi e animazioni.

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

  • Swing:  un'altra GUI leggera che utilizza un ampio set di widget per offrire personalizzazioni flessibili e di facile utilizzo.

Librerie di integrazione

Il Java Runtime Environment fornisce diverse librerie di integrazione per assistere gli sviluppatori nella creazione di connessioni di dati senza soluzione di continuità tra le loro applicazioni e i loro servizi. Alcune di queste librerie includono:

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

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

  • JNDI (Java Naming and Directory Interface):  Un'interfaccia di programmazione e un servizio di directory che consente ai clienti di creare applicazioni portatili in grado di recuperare informazioni dai database utilizzando le convenzioni di denominazione.

Librerie di linguaggi e programmi di utilità

Inclusi con il JRE ci sono i pacchetti java.lang. e java.util. che sono fondamentali per la progettazione di applicazioni Java, il controllo delle versioni dei pacchetti, la gestione e il monitoraggio. Alcuni di questi pacchetti includono:

  • Collections Framework:  Un'architettura unificata formata da una raccolta di interfacce progettate per migliorare lo storage e l'elaborazione di dati delle applicazioni.

  • Concurrency Utilities:  Un potente pacchetto di framework con programmi di utilità di threading ad elevate prestazioni.

  • Preferences API:  Un'API persistente leggera e multipiattaforma che consente a più utenti sulla stessa macchina di definire il loro gruppo di preferenze delle applicazioni.

  • Logging:  Produce dei report dei log - come le disfunzioni della sicurezza, gli errori di configurazione e i problemi di prestazioni - per un'ulteriore analisi.

  • JAR (Java Archive):  Un formato file indipendente dalla piattaforma che consente di riunire in bundle più file in formato JAR, migliorando notevolmente la velocità di download e riducendo la dimensione dei file.
Soluzioni Correlate
Crea e modernizza le applicazioni

Fornisci al tuo team le competenze e gli strumenti di cui ha bisogno per promuovere l'innovazione e far progredire la tua azienda.

Esplora la creazione e la modernizzazione delle applicazioni
OpenJDK e IBM Runtimes for Business

IBM Runtimes for Business fornisce supporto per ambienti di runtime Java open source, oltre al monitoraggio e alla gestione per le applicazioni Java.

Esplora OpenJDK e IBM Runtimes for Business
IBM® WebSphere® Hybrid Edition

Scopri come promuovere uno sviluppo nativo del cloud, la modernizzazione delle applicazioni e il supporto per le applicazioni esistenti con WebSphere® Hybrid Edition.

Esplora IBM® WebSphere® Hybrid Edition
Risorse Cos'è Java?

Scopri perché Java continua a essere una piattaforma di sviluppo ampiamente utilizzata e come accelera i progetti e supporta una vasta gamma di tecnologie emergenti.

Cos'è Java Spring Boot?

Scopri come Java Spring Boot semplifica lo sviluppo di applicazioni web e microservizi con Java Spring Framework.

Passa alla fase successiva

Per molte organizzazioni, Java continua ad essere una parte vitale dello sviluppo delle applicazioni e fornisce una solida base quando si creano soluzioni portatili e scalabili. Esplora OpenJDK e IBM Runtime for Business, che fornisce un supporto commerciale affidabile e conveniente per implementare, monitorare e gestire le applicazioni Java.

Scopri di più su OpenJDK e IBM Runtimes for Business