JRE (Java Runtime Environment)

menu icon

JRE (Java Runtime Environment)

Découvrez ce que fait l'environnement JRE (Java Runtime Environment) et son fonctionnement avec d'autres composants de la plateforme Java pour exécuter des applications Java.

Qu'est-ce que JRE (Java Runtime Environment) ?

L'environnement d'exécution Java (Java Runtime Environment, ou JRE), est une couche logicielle qui s'exécute sur le logiciel du système d'exploitation d'un ordinateur et fournit les bibliothèques de classes et autres ressources qu'un programme Java spécifique doit exécuter.

JRE est l'un des trois composants interdépendants permettant de développer et d'exécuter des programmes Java. Les deux autres composants sont :

  • Le kit Java Development Kit, ou JDK, ensemble d'outils pour le développement d'applications Java. Les développeurs choisissent des kits JDK en fonction de la version de Java et du package ou de l'édition : Java Enterprise Edition (Java EE), Java Special Edition (Java SE) ou Java Mobile Edition (Java ME). Chaque kit JDK comprend toujours un environnement JRE compatible, car l'exécution d'un programme Java fait partie du processus de développement d'un programme Java.
  • La machine virtuelle Java (Java Virtual Machine, ou JVM), qui exécute des applications Java en direct. Chaque environnement JRE inclut un environnement JRE par défaut, mais les développeurs sont libres d'en choisir un autre qui répond aux besoins en ressources spécifiques à leurs applications.

L'environnement JRE combine le code Java créé à l'aide du kit JDK aux bibliothèques nécessaires à son exécution sur une machine JVM, puis crée une instance de cette dernière qui exécute le programme résultant. Des machines JVM sont disponibles pour plusieurs systèmes d'exploitation, et les programmes créés avec l'environnement JRE seront exécutés sur tous ces systèmes. Ainsi, Java Runtime Environment est l'environnement qui permet à un programme Java de s'exécuter sur tout système d'exploitation sans modification.

Vous pouvez télécharger le kit JDK, y compris un environnement JRE compatible, depuis le site d'Oracle (lien externe à IBM).

Fonctionnement de l'environnement JRE ?

Le kit JDK et l'environnement JRE interagissent l'un avec l'autre pour créer un environnement d'exécution durable qui permet l'exécution transparente d'applications basées Java dans pratiquement tous les systèmes d'exploitation. Les éléments suivants constituent l'architecture d'exécution de l'environnement JRE :

ClassLoader

Java ClassLoader charge dynamiquement toutes les classes nécessaires à l'exécution d'un programme Java. Les classes Java n'étant chargées en mémoire que lorsqu'elles sont nécessaires, l'environnement JRE utilise des éléments ClassLoader pour automatiser ce processus à la demande.

Vérificateur de bytecode

Le vérificateur de bytecode garantit le format et l'exactitude du code Java avant qu'il ne soit transmis à l'interpréteur. Si le code atteint à l'intégrité du système ou ne respecte pas les droits d'accès, la classe est considérée comme endommagée et n'est pas chargée.

Interpréteur

Une fois le bytecode chargé, l'interpréteur Java crée une instance de la machine JVM qui permet au programme Java d'être exécuté en mode natif sur la machine sous-jacente.

Composants de l'environnement JRE

Outre la machine virtuelle Java, l'environnement JRE est composé de divers autres outils logiciels et de fonctionnalités connexes permettant de tirer le meilleur parti des applications Java.

Solutions de déploiement

L'installation de l'environnement JRE inclut des technologies de déploiement telles que Java Web Start et Java Plugin, qui simplifient l'activation des applications et offrent une prise en charge avancée des futures mises à jour de Java.

Kits d'outils de développement

L'environnement JRE comporte également des kits d'outils qui aident les développeurs à améliorer leur interface utilisateur. Ces kits incluent, entre autres :

  • Java 2D : API (interface de programme d'application) utilisée pour dessiner des graphiques bidimensionnels en langage Java. Les développeurs peuvent créer des interfaces utilisateur enrichies, des effets spéciaux, des jeux et des animations.
  • Abstract Window Toolkit (AWT) : Interface graphique utilisée pour créer des objets, des boutons, des barres de défilement et des fenêtres.
  • Swing : Autre interface graphique légère qui utilise un ensemble varié de widgets pour offrir des personnalisations flexibles et conviviales.

Bibliothèques d'intégration

Java Runtime Environment fournit un certain nombre de bibliothèques d'intégration qui permettent aux développeurs de créer des connexions de données transparentes entre leurs applications et leurs services. Ces bibliothèques incluent, entre autres :

  • IDL Java (CORBA) : Utilise l'architecture Common Object Request Architecture pour prendre en charge les objets répartis écrits dans le langage de programmation Java.
  • API JDBC (Java Database Connectivity) : Fournit aux développeurs des outils pour écrire des applications avec un accès aux bases de données relationnelles distantes, aux fichiers à plat et aux feuilles de calcul.
  • JNDI (Java Naming and Directory Interface) : Interface de programmation et service d'annuaire qui permettent aux clients de créer des applications portables capables d'extraire des informations des bases de données en utilisant des conventions de dénomination.

Bibliothèques de langage et d'utilitaires

L'environnement JRE comprend les packages java.lang. et java.util. qui sont fondamentaux pour la conception d'applications Java, la gestion des versions, la gestion et le contrôle des packages. Ces packages incluent, entre autres :

  • Collections Framework : Architecture unifiée composée d'une collection d'interfaces conçues pour améliorer le stockage et le traitement des données d'application.
  • Concurrency Utilities : Package de framework puissant avec des utilitaires d'utilisation d'unités d'exécution hautes performances.
  • API Preferences : API persistante légère et multiplateforme qui permet à plusieurs utilisateurs d'une même machine de définir leur propre groupe de préférences d'application.
  • Logging : Produit des rapports de journal (sur les incidents de sécurité, les erreurs de configuration ou les problèmes de performance) pour une analyse plus approfondie.
  • Java Archive (JAR) : Format de fichier indépendant de la plateforme qui permet de regrouper plusieurs fichiers au format JAR, ce qui améliore considérablement la vitesse de téléchargement et réduit la taille des fichiers.

JRE et IBM

JRE et IBM Cloud

Pour la plupart des organisations, Java reste un élément essentiel du développement d'applications et constitue une base solide pour la création de solutions portables et évolutives. Il peut également jouer un rôle essentiel dans la modernisation des applications dans le parcours vers le cloud.

Pour aller plus loin :

Commencez par créer un compte IBM Cloud dès aujourd'hui.