java components java platform
Ce didacticiel donne une description détaillée de Java en tant que plate-forme et de ses composants, à savoir JRE, JDK, machine virtuelle Java et la différence entre JRE et JDK:
Java a été décrit comme un langage de programmation ainsi que comme une plate-forme. Dans notre tutoriel d'introduction, nous avons déjà discuté qu'une plate-forme est un environnement logiciel à l'aide duquel nous pouvons exécuter des programmes ou des applications.
Dans ce tutoriel, nous aborderons Java, en tant que plate-forme. Nous discuterons également des composants de la plate-forme Java et verrons comment ils fonctionnent.
=> Lisez la série de formations Easy Java.
Ce que vous apprendrez:
Plateforme Java
La plate-forme Java est un logiciel ou un ensemble de programmes qui nous aident à exécuter des applications écrites en langage de programmation Java. Une plate-forme Java se compose d'un compilateur Java, d'un ensemble de bibliothèques et d'un moteur d'exécution.
La plate-forme Java est indépendante de tout système d'exploitation particulier, ce qui fait du langage de programmation Java un langage indépendant de la plate-forme.
La plate-forme Java comprend les composants suivants.
- Langage Java
- Le kit de développement Java (JDK)
- L'environnement d'exécution Java (JRE)
- Le compilateur Java
- La machine virtuelle Java (JVM)
Outre les principaux composants ci-dessus, la plate-forme Java contient également des garbage collector, un ensemble de bibliothèques et d'autres composants et outils supplémentaires nécessaires pour exécuter efficacement les applications Java.
Prenons le diagramme suivant qui illustre la relation entre tous ces composants.
quel est le meilleur convertisseur vidéo youtube
Donc, à partir du diagramme ci-dessus, nous pouvons conclure que,
JRE = classes de bibliothèque JVM +.
JDK = JRE + Outils de développement.
Avant d’aborder chacun des composants, commençons par comprendre le flux d’exécution du programme Java.
Le diagramme suivant montre le déroulement d'un programme Java.
Ainsi, le diagramme ci-dessus montre un flux d'exécution simple pour un programme Java. Un programme écrit en langage Java est compilé par le compilateur Java (javac). Contrairement aux autres compilateurs de langage qui génèrent du code machine après la compilation, le compilateur Javac génère un fichier de classe composé de code d'octet.
Maintenant, ce fichier de classe est donné à Java Virtual Machine (JVM) qui traduit le fichier de classe en un fichier objet contenant du code dépendant de la machine. Ensuite, ce code est exécuté par la machine.
Examinons chacun de ces composants en détail.
Langage Java
Java est un langage de programmation utilisé par la plate-forme Java. Java est un langage de programmation orienté objet dont la syntaxe est dérivée de C et les fonctionnalités OOPS sont dérivées de C ++. Il a sa syntaxe, ses règles, son format et son paradigme de programmation.
Dans cette série, nous apprendrons en détail tous les principaux concepts de Java et de la programmation.
Le compilateur Java
Il s'agit d'un compilateur pour le langage de programmation Java et sa fonction est de générer des fichiers de classe Java à partir du code source Java. Le fichier de classe Java contient un code d'octet Java indépendant de la plate-forme.
Après avoir généré des fichiers de classe, JVM charge ces fichiers de classe et interprète le code d'octet ou le compile en code machine à l'aide du compilateur Just-in-time (JIT).
La machine virtuelle Java (JVM)
JVM est le centre du langage de programmation Java et de la plate-forme Java. La JVM convertit le code d'octet en code spécifique à la machine (également appelé code objet dans d'autres langages de programmation).
JVM fournit les fonctionnalités de garbage collection, de gestion de la mémoire, de sécurité, etc. La JVM est indépendante de la plate-forme et nous pouvons personnaliser ses fonctionnalités à l'aide d'une interface virtuelle qu'elle fournit qui ne dépend pas de la machine et qui est également indépendante du système d'exploitation.
Cette indépendance de plate-forme de JVM nous permet de créer des programmes Java sur une machine et de les exécuter sur une autre machine (WORA - Write - Once - Run - Anywhere).
Le schéma suivant illustre les différentes parties d'une JVM.
La JVM est présente sur la RAM. Lorsque le programme Java est converti en fichier de classe par le compilateur Java, il doit être exécuté.
Pour l'exécution, le fichier de classe est amené sur le Ram par le chargeur de classe. Ici, le code BYTE est vérifié pour tout problème de sécurité. Classloader est également responsable du chargement, de la liaison et de l'initialisation du programme à exécuter.
La mémoire JVM représentée dans le diagramme ci-dessus contient divers composants comme indiqué et ils aident à l'exécution du programme en conservant les registres PC qui contiennent l'instruction en cours à exécuter, le tas contenant des variables, des tableaux, etc.
La mémoire JVM contient également une zone de méthode et une pile de méthodes natives qui contiennent respectivement le code de méthode et la spécification du langage natif. La pile JVM contient l'instance du programme ou le thread actuel. S'il y a plus d'un thread, chaque thread aura sa pile JVM.
comment ouvrir les fichiers swf sur chrome
Une fois le programme correctement lié, il est transmis au moteur d'exécution. Le moteur d'exécution coopère avec l'interface de méthode native et les bibliothèques de méthodes natives. L'interface de méthode native est un cadre de programmation qui permet au code Java d'appeler des bibliothèques et des applications natives qui font partie des bibliothèques de méthodes natives.
Ensuite, le moteur d'exécution convertit le Bytecode en code machine natif à l'aide du compilateur juste-à-temps (JIT). Ensuite, le programme est exécuté par la machine.
Remarque: JIT ou Le compilateur juste à temps fait partie de la machine virtuelle Java (JVM). Il interprète une partie du code d'octet qui a des fonctionnalités similaires en même temps. En d'autres termes, il convertit le code d'octet en code machine natif au même niveau de programmation. C'est la raison pour laquelle Java est compilé ainsi qu'un langage interprété.
L'environnement d'exécution Java (JRE)
JRE, comme son nom l'indique, est l'environnement d'exécution requis pour exécuter les programmes et applications Java. JRE se compose d'une machine virtuelle Java (JVM) et de binaires et d'autres classes pour exécuter avec succès les programmes Java.
JRE est un sous-ensemble de JDK et ne contient aucun outil de développement tel que le compilateur Java, le débogueur, etc. Par conséquent, si vos applications Java sont développées ailleurs et que vous n'avez besoin de les exécuter que sur votre machine, vous pouvez installer JRE séparément. Vous devez installer JDK pour cela.
Vous avez besoin d'un JRE installé sur votre machine car c'est la configuration minimale requise pour exécuter des programmes Java sur votre machine.
Le JRE comprend les composants suivants.
- Bibliothèques de code, paramètres de propriété et fichiers de ressources : Ceux-ci incluent des fichiers tels que charsets.jar, rt.jar, etc.
- Fichiers DLL : Utilisé par la machine virtuelle client Java hotspot et la machine virtuelle serveur.
- Fichiers d'extension Java : Par exemple, fichiers liés à la spécification locale comme localedata.jar
- Des dossiers requis pour la gestion de la sécurité. Par exemple, java.policy, java.security
- Classes de prise en charge des applets.
- Fichiers de polices True Type : Habituellement requis par la plateforme.
Pour exécuter toute application / programme écrit en Java, vous devez installer JRE sur votre système. JRE dépend de la plate-forme. Cela signifie que vous devez télécharger et installer JRE compatible avec votre système d'exploitation et votre architecture.
Le kit de développement Java (JDK)
Il s'agit du composant principal de tout environnement Java. JDK contient JRE (Java Runtime Environment) avec le compilateur Java, le débogueur Java et d'autres classes principales. JDK est utilisé pour le développement Java car il fournit l'intégralité de l'exécutable et des binaires ainsi que les outils nécessaires pour compiler, déboguer un programme Java.
JDK est un logiciel spécifique à la plate-forme et nous aurons donc des installateurs JDK distincts pour chaque système d'exploitation.
JDK contient les composants suivants:
- jConsole : Il s'agit d'une console de surveillance et de gestion Java.
- pot : C'est l'archiveur. Cet outil est utilisé pour regrouper les bibliothèques de classes associées dans un seul fichier Jar ainsi que pour gérer les fichiers Jar.
- jarSigner : Cet outil est utilisé pour la signature et la vérification des fichiers JAR.
- javap: Ceci est un outil pour le désassembleur de fichiers de classe.
- mâchoires : Lanceur de démarrage Web Java pour les applications JNLP.
- jhat : Outil d'analyse de tas Java.
- jrunscript : Shell de script de ligne de commande Java.
- jstack : Utilitaire utilisé pour imprimer les traces de pile pour les threads Java.
- Javadoc : Cela génère automatiquement une documentation à partir des commentaires du code source.
- visionneuse d'applet : Utilisé pour l'exécution et le débogage d'applet sans navigateur Web.
- apte : Outil de traitement des annotations.
- extCheck : Utilitaire utilisé pour vérifier les conflits de fichiers jar.
- keytool : En utilisant cet utilitaire, vous pouvez manipuler Keystore.
- policytool : Il s'agit d'un outil de création et de gestion de politiques.
- xjc : Il s'agit d'une partie de l'API de liaison XML (JAXB) qui accepte le schéma XML et génère des classes Java.
Ainsi, vous pouvez voir que les composants de JDK sont ceux dont nous avons besoin du point de vue du développement.
Comme indiqué dans le diagramme ci-dessus, le code source Java est converti en codes d'octets par le compilateur Java qui fait partie de JDK. Ensuite, ce code d'octet est transmis à JVM (ce processus déjà décrit ci-dessus) et de là, il va à JRE où le code est exécuté.
Après avoir vu les détails sur JDK et JRE, discutons maintenant des différences entre JRE et JDK.
JRE contre JDK
Ne pas | JRE | JDK |
---|---|---|
7 | Prend le programme Java compilé / interprété comme entrée et génère une sortie. | Programme source Java compilé et génère un fichier de classe qui est ensuite transmis à JVM. |
1 | JRE signifie Java Runtime Environment. | JDK signifie Java Development Kit. |
deux | Principalement utilisé pour l'exécution de programmes Java. | JDK est utilisé par les développeurs pour développer des programmes Java. |
3 | Contient une machine virtuelle Java (JVM) intégrée à l'intérieur. | N'a pas de JVM. |
4 | JRE n’a pas de compilateur Java et ne peut donc pas compiler de programmes. | JDK a un compilateur javac et est responsable de la compilation des programmes. |
5 | Contient la bibliothèque de classes java, la commande java et d'autres infrastructures. | JDK contient des outils tels que Javadoc et l'archiveur qui sont utilisés pour développer des applications Java. |
6 | JRE peut être installé en tant que programme autonome. | JDK est un programme d'installation distinct et est fourni avec JRE. |
Conclusion
Dans ce didacticiel, nous avons discuté des détails du kit de développement Java (JDK) fourni avec Java Runtime Environment (JRE) et le compilateur Java. JRE, à son tour, contient la machine virtuelle Java (JVM) qui est responsable de la conversion du code d'octet généré par le compilateur Java en code spécifique à la machine.
Tous ces éléments, y compris le langage Java, sont des composants d'une entité parente appelée plate-forme Java, qui est un environnement qui nous aide à exécuter une application Java. Nous avons également discuté de l'architecture détaillée et du fonctionnement de JVM ainsi que de l'exécution d'un programme Java ici.
=> Jetez un œil au guide du débutant Java ici.
lecture recommandée
- Machine virtuelle Java: comment JVM aide à exécuter une application Java
- Tutoriel Java SWING: Conteneur, composants et gestion des événements
- Déploiement Java: création et exécution d'un fichier JAR Java
- Modificateurs d'accès en Java - Tutoriel avec des exemples
- Tutoriel de réflexion Java avec des exemples
- Introduction au langage de programmation Java - Tutoriel vidéo
- Tutoriel JAVA pour les débutants: plus de 100 tutoriels vidéo Java pratiques
- OOP Java: Introduction à la programmation orientée objet en Java