JRE (Java Runtime Environment)

menu icon

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.

Cos'è il JRE (Java Runtime Environment)?

Il JRE, o Java Runtime Environment, è 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 che uno specifico programma Java ha bisogno di eseguire.

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

  • Il JDK, o Java Development Kit, è un toolset 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.
  • Il JVM, o Java Virtual Machine, esegue le applicazioni Java dal vivo. 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 utilizzando il JDK con le librerie necessarie che occorrono per eseguirlo su una JVM e crea quindi 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 è ciò che 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).

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 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 leggera GUI 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 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à

Il JRE include i pacchetti java.lang. e java.util, che sono fondamentali per la progettazione di applicazioni Java e per il monitoraggio, la gestione e il controllo delle versioni dei pacchetti. 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 i 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.

JRE e IBM

JRE e IBM Cloud

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. Può anche svolgere un ruolo chiave nella modernizzazione delle applicazioni nel percorso verso il cloud.

Passa alla fase successiva:

  • Esplora OpenJDK and IBM Runtimes for Business, che fornisce un supporto commerciale affidabile e conveniente per l'implementazione, il monitoraggio e la gestione delle applicazioni Java.

Inizia con un account IBM Cloud oggi stesso.