JDK contre JRE contre JVM dans Java - Différence entre eux
Différence clé entre JDK, JRE et JVM
- JDK est un kit de développement logiciel tandis que JRE est un ensemble logiciel qui permet Java programme à exécuter, alors que JVM est un environnement pour exécuter du bytecode.
- La forme complète du JDK est Java Kit de développement, alors que la forme complète de JRE est Java Runtime Environment, alors que la forme complète de JVM est Java Machine virtuelle.
- JDK et JRE dépendent de la plateforme, tandis que JVM est indépendant de la plateforme au niveau du bytecode mais dépend des implémentations spécifiques à la plateforme.
- JDK contient des outils de développement, de débogage, etc. JRE contient des bibliothèques de classes et d'autres fichiers de support, alors que les outils de développement logiciel ne sont pas inclus dans JVM.
- JDK est fourni avec le programme d'installation, tandis que JRE contient uniquement l'environnement permettant d'exécuter le code source, tandis que JVM est fourni à la fois dans les logiciels JDK et JRE.
Qu'est-ce que JDK ?
JDK est un environnement de développement logiciel utilisé pour créer des applets et Java candidatures. La forme complète du JDK est Java Kit de développement. Java les développeurs peuvent l'utiliser sur Windows, macOS, Solariset Linux. JDK les aide à coder et à exécuter Java programmes. Il est possible d'installer plusieurs versions du JDK sur le même ordinateur.
Qu'est-ce que JRE ?
JRE est un élément d'un logiciel conçu pour exécuter d'autres logiciels. Il contient les bibliothèques de classes, la classe de chargeur et la JVM. En termes simples, si vous voulez courir Java programme dont vous avez besoin de JRE. Si vous n'êtes pas programmeur, vous n'avez pas besoin de le faire installer JDK, mais juste JRE pour exécuter Java programmes. Cependant, toutes les versions du JDK sont fournies avec Java Environnement d'exécution, vous n'avez donc pas besoin de télécharger et d'installer le JRE séparément sur votre PC. La forme complète de JRE est Java Environnement d'exécution.
Qu'est-ce que la JVM ?
JVM est un moteur qui fournit un environnement d'exécution pour piloter le Java Code ou applications. Il convertit Java bytecode en langage machine. JVM fait partie de Java Exécuter l'environnement (JRE). Il ne peut pas être téléchargé et installé séparément. Pour installer JVM, vous devez installer JRE. La forme complète de JVM est Java Machine virtuelle.
Dans de nombreux autres langages de programmation, le compilateur produit du code machine pour un système spécifique. Cependant, Java Le compilateur produit du code pour une machine virtuelle appelée JVM.
Pourquoi utiliser JDK ?
Voici les raisons importantes d’utiliser JDK :
- JDK contient les outils nécessaires pour écrire Java programmes et JRE pour les exécuter.
- Il comprend un compilateur, Java lanceur d'applications, Appletviewer, etc.
- Le compilateur convertit le code écrit Java en code octet.
- Java le lanceur d'applications ouvre un JRE, charge la classe nécessaire et exécute sa méthode principale.
Pourquoi utiliser JRE ?
Voici les raisons importantes d’utiliser JRE :
- JRE contient des bibliothèques de classes, JVM et d'autres fichiers de prise en charge. Il ne contient aucun outil pour Java développement comme un débogueur, un compilateur, etc.
- Il utilise des classes de packages importantes telles que les bibliothèques math, swingetc, util, lang, awt et runtime.
- Si tu dois courir Java applets, alors JRE doit être installé sur votre système.
Pourquoi JVM ?
Voici les raisons importantes d’utiliser JVM :
- JVM fournit un moyen d'exécution indépendant de la plate-forme Java code source.
- Il dispose de nombreuses bibliothèques, outils et frameworks.
- Une fois que tu cours Java programme, vous pouvez exécuter sur n’importe quelle plate-forme et gagner beaucoup de temps.
- JVM est livré avec un compilateur JIT (Just-in-Time) qui convertit Java code source en langage machine de bas niveau. Par conséquent, il s’exécute plus rapidement qu’une application standard.
Caractéristiques du JDK
Voici les fonctionnalités importantes du JDK :
- Il vous permet de gérer plusieurs extensions dans un seul bloc catch.
- JDK inclut toutes les fonctionnalités de JRE.
- Il contient des outils de développement tels qu'un compilateur, un débogueur, etc.
- JDK fournit l'environnement pour développer et exécuter Java code source.
- Il peut être installé sur Windows, Unix et Mac.
- L'opérateur Diamond peut être utilisé pour spécifier une interface de type générique au lieu d'écrire celle exacte.
Caractéristiques de JRE
Voici les fonctionnalités importantes de JRE :
- Java Runtime Environment est un ensemble d'outils à l'aide desquels la JVM s'exécute réellement.
- JRE contient une technologie de déploiement, notamment Java Démarrage Web et Java Brancher.
- Les développeurs peuvent facilement exécuter le code source dans JRE, mais ils ne peuvent pas écrire et compiler le code source. Java .
- Il comprend des bibliothèques d'intégration comme Java Connectivité de base de données (JDBC), appel de méthode à distance (RMI), Java Interface de nommage et d'annuaire (JNDI), et bien plus encore.
- JRE a JVM et Java Client de machine virtuelle HotSpot.
Caractéristiques de la JVM
Voici les fonctionnalités importantes de JVM :
- Il vous permet d'exécuter des applications dans un environnement cloud ou sur votre appareil.
- Java La machine virtuelle convertit le code d'octet en code spécifique à la machine.
- Il fournit des fonctions Java de base telles que la gestion de la mémoire, la sécurité, le garbage collection, etc.
- JVM exécute le programme en utilisant les bibliothèques et les fichiers fournis par Java Environnement d'exécution.
- JDK et JRE contiennent tous deux Java Machine virtuelle.
- Il peut exécuter le programme Java ligne par ligne et est donc également appelé interpréteur.
- La JVM est facilement personnalisable, par exemple, vous pouvez lui allouer une mémoire minimale et maximale.
- Il est indépendant du matériel et du système d'exploitation. Ainsi, vous pouvez écrire un programme Java une fois et l’exécuter n’importe où.
Comment fonctionne le JDK ?
Voici les composants importants du JDK :
- JDK et JRE: Le JDK permet aux programmeurs de créer du noyau Java programmes pouvant être exécutés par le JRE, qui comprenaient des bibliothèques JVM et de classes.
- Bibliothèques de classe : Il s'agit d'un groupe de bibliothèques chargeables dynamiquement qui Java le programme peut appeler au moment de l’exécution.
- Compilateurs : Il s'agit d'un Java programme qui accepte les fichiers texte des développeurs et les compile en Java fichier de classe. Il s'agit de la forme courante de sortie donnée par le compilateur, qui contient Java code d'octet. Dans Java, le compilateur principal est Javac.
- Débogueurs : Le débogueur est un Java programme qui permet aux développeurs de tester et de déboguer Java programmes.
- JavaDoc: JavaDoc est une documentation réalisée par Sun Microsystems pour le Java. JavaDoc peut être utilisé pour générer de la documentation API dans un fichier HTML à partir du programme source
Comment fonctionne JRE ?
JRE contient une instance de JVM, des classes de bibliothèque et des outils de développement. Une fois que vous avez écrit et compilé Java code, le compilateur génère un fichier de classe contenant du code octet.
Voici les composants importants de JRE :
- Chargeurs de classes : Le chargeur de classes charge diverses classes nécessaires à l'exécution d'un Java programme. JVM utilise trois chargeurs de classes appelés chargeur de classe d'amorçage, chargeur de classe d'extensions et chargeur de classe système.
- Vérificateur de code d'octet : Le vérificateur de byte code vérifie le bytecode afin que le code ne perturbe pas l'interpréteur.
- Interprète: Une fois les classes chargées et le code vérifié, l’interpréteur lit le code ligne par ligne.
- Durée: Le temps d'exécution est un système utilisé principalement en programmation pour décrire la période de temps pendant laquelle un programme particulier est en cours d'exécution.
- matériel: Une fois que vous compilez Java code natif, il s’exécute sur une plateforme matérielle spécifique.
De cette façon, le Java le programme s'exécute en JRE.
Comment fonctionne la JVM ?
Voici les composants importants de JVM :
1) Chargeur de classe
Le chargeur de classe est un sous-système utilisé pour charger des fichiers de classe. Il remplit trois fonctions principales, à savoir. Chargement, liaison et initialisation.
2) Domaine de la méthode
La zone de méthode JVM stocke la structure de la classe comme les métadonnées, le code pour Java méthodes et le pool d’exécution constant.
3) Tas
Tous les objets, tableaux et variables d'instance sont stockés dans un tas. Cette mémoire est partagée sur plusieurs threads.
4) Piles de langage JVM
Java Les piles de langage stockent les variables locales et leurs résultats partiels. Chaque thread possède sa propre pile de langage JVM, créée simultanément à la création du thread. Un nouveau cadre est créé lorsque la méthode est invoquée et il est supprimé une fois le processus d'invocation de la méthode terminé.
5) Registres PC
Les registres PC stockent l'adresse du Java instruction de machine virtuelle, en cours d'exécution. Dans Java, chaque thread a son registre PC séparé.
6) Piles de méthodes natives
Les piles de méthodes natives contiennent les instructions du code natif qui dépendent de la bibliothèque native. Il alloue de la mémoire sur des tas natifs ou utilise n'importe quel type de pile.
7) Moteur d'exécution
Il s'agit d'un type de logiciel utilisé pour tester des logiciels, du matériel ou des systèmes complets. Le moteur d'exécution des tests ne contient jamais d'informations sur le produit testé.
8) Interface de méthode native
La Native Method Interface est un framework de programmation. Il permet Java code, qui s'exécute dans une JVM pour être appelé par les bibliothèques et les applications natives.
9) Bibliothèques de méthodes natives
Native Libraries est une collection de bibliothèques autochtones (C, C++), qui sont nécessaires au moteur d'exécution.
Différence entre JDK, JRE et JVM
Voici les principales différences entre JDK, JRE et JVM :
JDK | JRE | JVM |
---|---|---|
La forme complète du JDK est Java Kit de développement. | La forme complète de JRE est Java Environnement d'exécution. | La forme complète de JVM est Java Machine virtuelle. |
JDK est un kit de développement logiciel pour développer des applications dans Java. | Il s'agit d'un ensemble de logiciels qui fournit Java bibliothèques de classes avec les composants nécessaires à l'exécution Java code. | La JVM s'exécute Java code d'octet et fournit un environnement pour son exécution. |
JDK dépend de la plate-forme. | JRE dépend également de la plate-forme. | JVM est indépendant de la plate-forme. |
Il contient des outils pour développer, déboguer et surveiller le code Java. | Il contient des bibliothèques de classes et d'autres fichiers de support dont JVM a besoin pour exécuter le programme. | Les outils de développement logiciel ne sont pas inclus dans JVM. |
C'est le surensemble de JRE | C'est le sous-ensemble du JDK. | JVM est un sous-ensemble de JRE. |
Le JDK permet aux développeurs de créer Java programmes qui peuvent être exécutés et exécutés par le JRE et la JVM. | Le JRE fait partie de Java qui crée la JVM. | L'intelligence relationnelle c'est Java composant de plateforme qui exécute le code source. |
JDK est livré avec le programme d'installation. | JRE contient uniquement un environnement pour exécuter le code source. | JVM regroupé dans les logiciels JDK et JRE. |