JDK vs JRE vs JVM: différences clés

Quest-ce que JDK?

JDK est un environnement de développement logiciel utilisé pour créer des applets et des applications Java. La forme complète de JDK est Java Development Kit. Les développeurs Java peuvent lutiliser sur Windows, macOS, Solaris et Linux. JDK les aide à coder et à exécuter des programmes Java. Il est possible dinstaller plusieurs versions de JDK sur le même ordinateur.

Dans ce tutoriel, vous apprendrez:

  • Quest-ce que JDK?
  • Quest-ce que JRE?
  • Quest-ce que JVM?
  • Pourquoi utiliser JDK?
  • Pourquoi utiliser JRE?
  • Pourquoi JVM?
  • Fonctionnalités de JDK
  • Fonctionnalités de JRE
  • Fonctionnalités de JVM
  • Comment fonctionne JDK?
  • Comment fonctionne JRE?
  • Comment fonctionne la JVM?
  • Différence entre JDK, JRE et JVM

Quest-ce que JRE?

JRE est un élément dun logiciel conçu pour exécuter dautres logiciels . Il contient les bibliothèques de classes, la classe de chargeur et la JVM. En termes simples, si vous souhaitez exécuter un programme Java, vous avez besoin de JRE. Si vous nêtes pas un programmeur, vous navez pas besoin dinstaller JDK, mais juste JRE pour exécuter les programmes Java. Cependant, toutes les versions de JDK sont fournies avec Java Runtime Environment, vous navez donc pas besoin de télécharger et dinstaller le JRE séparément dans votre PC. La forme complète de JRE est Java Runtime Environment.

Quest-ce que JVM?

JVM est un moteur qui fournit un environnement dexécution pour piloter le code Java ou les applications. Il convertit le bytecode Java en langage machine. JVM fait partie de Java Run Environment (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 Virtual Machine.

Dans de nombreux autres langages de programmation, le compilateur produit du code machine pour un système spécifique. Cependant, le compilateur Java produit du code pour une machine virtuelle appelée JVM.

DIFFÉRENCES CLÉS

  • JDK est un kit de développement logiciel alors que JRE est un bundle logiciel qui permet à un programme Java de sexécuter, alors que JVM est un environnement pour exécuter le bytecode.
  • La forme complète de JDK est Java Development Kit, tandis que la forme complète de JRE est Java Runtime Environment, tandis que la forme complète de JVM est Java Virtual Machine.
  • JDK dépend de la plate-forme, JRE dépend également de la plate-forme, mais JVM est indépendant de la plate-forme.
  • JDK contient des outils de développement, de débogage, etc. JRE contient des bibliothèques de classes et dautres fichiers de prise en charge, tandis que les logiciels les outils de développement ne sont pas inclus dans JVM.
  • JDK est fourni avec le programme dinstallation, par contre, JRE ne contient que lenvironnement pour exécuter le code source tandis que JVM est inclus dans les logiciels JDK et JRE.

Pourquoi utiliser JDK?

Voici les raisons importantes dutiliser JDK:

  • JDK contient les outils nécessaires pour écrire des programmes Java, et JRE pour les exécuter.
  • Il inclut un compilateur, un lanceur dapplication Java, un Appletviewer, etc.
  • Le compilateur convertit le code écrit en Java en code octet.
  • Le lanceur dapplications Java ouvre un JRE, charge la classe nécessaire et exécute sa méthode principale.

Pourquoi utiliser JRE?

Voici les raisons importantes dutiliser JRE:

  • JRE contient des bibliothèques de classes, JVM et dautres fichiers de support. Il ne contient aucun outil de développement Java tel quun débogueur, un compilateur, etc.
  • Il utilise des classes de package importantes telles que math, swingetc, util, lang, awt et les bibliothèques dexécution.
  • Si vous devez exécuter des applets Java, JRE doit être installé sur votre système.

Pourquoi JVM?

Voici les raisons importantes dutiliser JVM:

  • JVM fournit un moyen indépendant de la plate-forme dexécuter Java code source.
  • Il a de nombreuses bibliothèques, outils et frameworks.
  • Une fois que vous exécutez le programme Java, vous pouvez lexécuter sur nimporte quelle plate-forme et gagner beaucoup de temps.
  • JVM est livré avec un compilateur JIT (Just-in-Time) qui convertit le code source Java en langage machine de bas niveau. Par conséquent, il fonctionne plus rapidement en tant quapplication standard.

Fonctionnalités de JDK

Voici les fonctionnalités importantes de 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 quun compilateur, un débogueur, etc.
  • JDK fournit lenvironnement pour développer et exécuter du code source Java.
  • Il peut être installé sur les systèmes dexploitation Windows, Unix et Mac.
  • Lopérateur Diamond peut être utilisé pour spécifier une interface de type générique au lieu décrire celle exacte.

Fonctionnalités de JRE

Voici les fonctionnalités importantes de JRE:

  • Java Runtime Environment est un ensemble doutils utilisant réellement la JVM.
  • JRE contient une technologie de déploiement, notamment Java Web Start et Java Plug-in.
  • Les développeurs peuvent facilement exécuter le code source dans JRE, mais il / elle ne peut pas écrire et compiler le programme Java.
  • Il comprend des bibliothèques dintégration telles que Java Database Connectivity (JDBC), Remote Method Invocation (RMI), interface de nommage et dannuaire Java (JNDI), etc.
  • JRE dispose dun client de machine virtuelle JVM et Java HotSpot.

Fonctionnalités de JVM

Voici les fonctionnalités importantes de JVM:

  • Il vous permet dexécuter des applications dans un environnement cloud ou dans votre appareil.
  • Java Virtual Machine convertit le code doctet 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 ramasse-miettes, etc.
  • JVM exécute le programme en utilisant les bibliothèques et les fichiers fournis par Java Runtime Environment.
  • JDK et JRE contiennent tous deux une machine virtuelle Java.
  • Il peut exécuter le programme java ligne par ligne, il est donc également appelé interpréteur.
  • JVM est facilement personnalisable, par exemple, vous pouvez lui allouer de la mémoire minimale et maximale.
  • Il est indépendant du matériel et du système dexploitation. Ainsi, vous pouvez écrire un programme java une fois et lexécuter nimporte où.

Comment fonctionne JDK?

Fonctionnalité JDK

Voici les composants importants du JDK:

  • JDK et JRE: Le JDK permet aux programmeurs de créer des programmes Java de base qui peuvent être exécutés par le JRE, qui comprenait JVM et des bibliothèques de classes.
  • Bibliothèques de classes: cest un groupe de bibliothèques chargeables dynamiquement que le programme Java peut appeler au moment de lexécution.
  • Compilateurs: Cest un programme Java qui accepte les fichiers texte des développeurs et compile en Fichier de classe Java. Cest la forme courante de sortie fournie par le compilateur, qui contient du code doctet Java. En Java, le compilateur principal est Javac.
  • Debuggers: Debugger est un programme Java qui permet aux développeurs de tester et de déboguer des programmes Java.
  • JavaDoc: JavaDoc est une documentation créée par Sun Microsystems pour Java. JavaDoc peut être utilisé pour générer une documentation API dans un fichier HTML à partir du programme source

Comment fonctionne JRE?

Fonctionnalité JRE

JRE a une instance de JVM avec elle, des classes de bibliothèque et des outils de développement. Une fois que vous avez écrit et compilé du code Java, le compilateur génère un fichier de classe contenant du code doctet.

Voici les composants importants de JRE:

  • Chargeurs de classes: Le chargeur de classes charge diverses classes nécessaires à lexécution dun programme Java. La JVM utilise trois chargeurs de classe appelés chargeur de classe damorçage, chargeur de classe dextensions et chargeur de classe système.
  • Vérificateur de code doctet: le vérificateur de code doctet vérifie le bytecode afin que le code ne perturbe pas linterpréteur.
  • Interpréteur: Une fois les classes chargées, et le code vérifié, linterpréteur lit le code ligne par ligne.
  • Exécution: Le run-time est un système utilisé principalement en programmation pour décrire la période pendant laquelle un programme particulier est en cours dexécution.
  • Matériel: une fois que vous compilez le code natif Java, il sexécute sur une plate-forme matérielle spécifique.

De cette façon, le programme Java sexécute en JRE.

Comment fonctionne la JVM?

Fonctionnalité JVM

Voici les composants importants de JVM:

1) Class Loader

Le class loader est un sous-système utilisé pour chargement des fichiers de classe. Il remplit trois fonctions principales à savoir. Chargement, liaison et initialisation.

2) Zone de méthode

La zone de méthode JVM stocke la structure de la classe comme les métadonnées, le code des méthodes Java et le pool dexécution constant.

3) Heap

Tous les objets, tableaux et variables dinstance sont stockés dans un tas. Cette mémoire est partagée entre plusieurs threads.

4) Piles de langage JVM

Les piles de langage Java stockent des variables locales, et ses résultats partiels. Chaque thread a sa propre pile de langages JVM, créée en même temps que le thread est créé. Un nouveau cadre est créé lorsque la méthode est appelée, et il est supprimé lorsque le processus dappel de méthode est terminé.

5) Registres PC

Les registres PC stockent ladresse de linstruction de la machine virtuelle Java, qui est en cours dexécution. En Java, chaque thread a son registre PC distinct.

6) Piles de méthodes natives

Les piles de méthodes natives contiennent linstruction du code natif qui dépend de la bibliothèque native. Il alloue de la mémoire sur des tas natifs ou utilise tout type de pile.

7) Moteur dexécution

Cest un type de logiciel utilisé pour tester des logiciels, du matériel ou des systèmes complets. Le moteur dexécution des tests ne contient aucune information sur le produit testé.

8) Interface de méthode native

Linterface de méthode native est un cadre de programmation. Il permet au code Java, qui sexécute dans une JVM, dappeler par des bibliothèques et des applications natives.

9) Bibliothèques de méthodes natives

Les bibliothèques natives sont une collection de bibliothèques natives (C, C ++), nécessaires au moteur dexé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 de JDK est Java Development Kit. La forme complète de JRE est Java Runtime Environment. La forme complète de JVM est Java Virtual Machine.
JDK est un kit de développement logiciel pour développer des applications en Java. Il sagit dun ensemble de logiciels qui fournit aux bibliothèques de classes Java les composants nécessaires pour exécuter du code Java. JVM exécute le code doctet Java et fournit un environnement pour lexécuter.
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 dautres fichiers de support dont la JVM a besoin pour exécuter le programme. Les outils de développement logiciel ne sont pas inclus dans JVM.
Cest le sur-ensemble de JRE Cest le sous-ensemble de JDK. JVM est un sous-ensemble de JRE.
Le JDK permet aux développeurs de créer des programmes Java qui peuvent être exécutés et exécutés par le JRE et la JVM. Le JRE est la partie de Java qui crée la JVM. Cest le composant de la plateforme Java qui exécute le code source.
JDK est fourni avec le programme dinstallation. JRE contient uniquement lenvironnement pour exécuter le code source. JVM inclus dans les logiciels JDK et JRE.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *