Qu'est-ce que l'environnement d'exécution Java ?
L'environnement d'exécution Java (JRE) est une couche logicielle qui permet d'exécuter correctement des programmes Java. Java est un langage informatique utilisé par de nombreuses applications web et mobiles actuelles. Le JRE est la technologie sous-jacente qui assure la communication entre le programme Java et le système d'exploitation. Il joue le rôle de traducteur et de facilitateur en fournissant toutes les ressources nécessaires. Ainsi, après avoir programmé votre logiciel Java, il s'exécute sur n'importe quel système d'exploitation sans nécessiter de modifications ultérieures.
Pourquoi le JRE est-il important ?
Un programme logiciel a besoin d'un environnement d'exécution offrant un accès à la mémoire et à d'autres ressources système, telles que les fichiers de programmes et les dépendances. Auparavant, la plupart des logiciels utilisaient le système d'exploitation directement comme environnement d'exécution. Cependant, les développeurs devaient rédiger un code propre à chaque système d'exploitation sur lequel ils souhaitaient exécuter leurs applications. La technologie de l'environnement d'exécution Java (JRE) a été conçue pour résoudre ce problème.
Le JRE est en fait l'un des trois éléments de plateforme Java requis pour que tout programme Java s'exécute correctement. Le kit de développement Java (JDK) et la machine virtuelle Java (JVM) sont les deux autres éléments.
Kit de développement Java
Le JDK est un ensemble d'outils logiciels que vous pouvez utiliser pour développer les applications Java. Vous pouvez configurer le JDK dans votre environnement de développement en le téléchargeant et en l'installant. Sélectionnez la version de logiciel JDK qui correspond à la version de Java que vous souhaitez utiliser. Par exemple, Java Standard Edition (Java SE) nécessite le JDK Java SE.
Machine virtuelle Java
La JVM est un logiciel qui exécute le programme Java ligne par ligne. Les développeurs configurent les paramètres de la JVM pour la gestion des ressources du programme lorsque l'application Java est en cours d'exécution. Par exemple, vous pouvez modifier le paramètre de mémoire de la JVM et vérifier quelle quantité de mémoire interne vos applications Java utilisent lors de l'exécution.
Rôle du JRE dans le langage de programmation Java
Le JRE combine le code Java que vous créez à l'aide du JDK avec du code supplémentaire intégré, nommé bibliothèques. Il crée ensuite une instance JVM, ou copie locale, qui exécute finalement les programmes Java. Les JVM sont disponibles pour plusieurs systèmes d'exploitation. Le JRE génère une copie unique de votre code Java qui s'exécute sur tous les types de JVM. Ainsi, le JRE favorise l'indépendance des applications Java. Vous pouvez les rédiger une seule fois et les exécuter n'importe où.
Différence entre le JRE, la JVM et le JDK
Le JDK est une couche logicielle supérieure au JRE qui contient un compilateur, un débogueur et d'autres outils généralement rencontrés dans tout environnement de développement logiciel. Dans le JDK, vous rédigez le code dans une syntaxe type anglais. Le JDK le compile et transmet le bytecode au JRE. En revanche, le JRE contient des bibliothèques de classes, des fichiers de support et la JVM. Il utilise ces composants logiciels pour exécuter le bytecode sur tout appareil.
Comment fonctionne le JRE ?
L'environnement d'exécution Java (JRE) s'exécute au-dessus du système d'exploitation et fournit des ressources Java supplémentaires. Le kit de développement Java (JDK) et le JRE interagissent pour créer un environnement d'exécution durable qui exécute les fichiers de programmes Java sur n'importe quelle machine. Le JRE fonctionne grâce à trois composants principaux.
ClassLoader
Les bibliothèques de classes Java contiennent des ensembles de codes pré-rédigés que vous pouvez appeler selon vos besoins. Elles simplifient le travail des développeurs Java en offrant des méthodes intégrées pour les tâches courantes et non négligeables, comme la réception d'entrées provenant des utilisateurs, l'affichage des sorties aux utilisateurs, etc. Tous les programmes Java font référence à plusieurs bibliothèques de classes. Le chargeur de classe Java ClassLoader charge de manière dynamique tous les fichiers de classes nécessaires dans la machine virtuelle Java (JVM) à la demande.
Vérificateur de bytecode
Le JDK dispose d'un compilateur qui convertit le code de type anglais que vous rédigez en une version de langage machine, appelée bytecode Java. Le vérificateur de bytecode du JRE vérifie le format et l'exactitude du code Java avant de le charger dans la JVM. Par exemple, si le code porte atteinte à l'intégrité du système ou aux droits d'accès, le JRE ne chargera pas le fichier de classe.
Interpréteur
Après le chargement du bytecode, l'interpréteur Java crée l'instance de JVM qui exécute le programme Java sur la machine sous-jacente.
Quels éléments composent le JRE ?
À part les composants principaux, l'environnement d'exécution Java (JRE) contient plusieurs autres composants logiciels qui permettent aux programmes Java de fonctionner plus efficacement. En voici quelques exemples :
Outils de développement
Le JRE contient des outils de développement, tels que des boîtes à outils d'interface utilisateur que vous pouvez utiliser pour améliorer la qualité de vos applications. En voici quelques exemples :
Java2D
Java2D est une interface de programmation d'applications (API) qui permet de dessiner des graphiques en deux dimensions et de créer des interfaces utilisateurs, des jeux, des animations et des effets spéciaux riches dans le langage Java.
Swing
Swing est une interface graphique utilisateur (GUI) légère qui offre des personnalisations flexibles et faciles à utiliser.
Abstract Window Toolkit
Abstract Window Toolkit (AWT) est une GUI qui permet de créer des objets d'IU, tels que des boutons, des fenêtres et des barres de défilement.
Solutions de déploiement
Le JRE inclut des technologies qui facilitent le lancement des modifications de logiciels auprès des utilisateurs d'applications. Ces technologies offrent également une prise en charge avancée des mises à jour dans l'application. Les technologies de déploiement, telles que Java Web Start et le plug-in Java, sont comprises dans l'installation de JRE. Ces technologies facilitent l'activation des applications et proposent également une prise en charge avancée des mises à jour futures du JRE. En voici quelques exemples :
Java Web Start
Grâce à Java Web Start, vous pouvez lancer des applications complètes en un seul clic depuis votre navigateur web.
Plug-in Java
Le plug-in Java établit une connexion entre les navigateurs populaires et la plateforme Java, afin que vous puissiez exécuter vos applets de site web au sein d'un navigateur de bureau.
Bibliothèques de langages et d'utilitaires
Un ensemble de fichiers de classes Java est appelé package Java. Le JRE comprend plusieurs packages Java prenant en charge la gestion des versions, la gestion et la surveillance. Les packages suivants en sont des exemples :
Framework de collections
Le framework de collections est une architecture unifiée qui inclut des interfaces pour améliorer le stockage et le traitement des données d'applications.
API de préférences
L'API de préférences permet à plusieurs utilisateurs de la même machine de définir leur propre groupe de préférences d'applications.
Journalisation
Les packages de journalisation produisent des rapports de journaux pour la résolution des incidents tels que les défaillances de sécurité, les problèmes de performances et les erreurs de configuration.
Java Archive
Java Archive (JAR) est un format de fichier indépendant qui vous permet de regrouper plusieurs fichiers afin de réduire la taille des fichiers de votre application et d'améliorer considérablement la vitesse de téléchargement.
Bibliothèques d'intégration
Le JRE comprend plusieurs bibliothèques d'intégration qui aident les développeurs à créer des connexions de données harmonieuses entre leurs services et applications. Voici quelques exemples de bibliothèques :
Java IDL
Java Interface Definition Language (IDL), basé sur l'architecture CORBA (Common Object Request Broker Architecture), prend en charge les objets de données distribués, c'est-à-dire les objets qui interagissent sur différentes plateformes dans un réseau. Par exemple, Java IDL permet aux objets rédigés en Java d'interagir avec ceux rédigés dans un autre langage, comme C, C++ ou COBOL.
Java Database Connectivity
Les développeurs utilisent l'API Java Database Connectivity (JDBC) pour rédiger des applications pouvant accéder à des bases de données, feuilles de calcul et fichiers à distance.
Java Naming and Directory Interface
Java Naming and Directory Interface (JNDI) est un service d'annuaires qui permet aux clients de créer des applications portables qui récupèrent des informations à partir de bases de données externes à l'aide de règles de nommage.
Qu'est-ce qu'AWS SDK pour Java ?
Le kit de développement logiciel (SDK) AWS pour Java simplifie l'utilisation des services AWS en fournissant un ensemble de bibliothèques cohérentes et familières pour les développeurs Java. Il prend en charge les abstractions de niveau supérieur pour un développement simplifié. Des bibliothèques Java open source axées sur AWS sont disponibles, ainsi que des exemples de code et un guide de référence de l'API Java.
Les exemples de code AWS SDK pour Java 2.0 sur GitHub contiennent des exemples de code Java et des cas d'utilisation réels pour les services AWS afin d'aider à accélérer le développement de vos applications. Par ailleurs, le guide de référence de l'API AWS SDK pour Java décrit les opérations d'API pour la dernière version d'AWS SDK pour Java. Le guide de référence fournit également des exemples de demandes, de réponses et d'erreurs pour les protocoles de services web pris en charge.
Commencez à utiliser AWS SDK pour Java en consultant le guide du développeur AWS SDK pour Java ou visitez le Centre pour développeurs AWS Java.