Quelle est la différence entre le JDK, le JRE et la JVM?

Si vous êtes un débutant en développement de logiciel Java comme moi, on vous a déjà posé cette question une ou deux fois (plus que probablement dans un cadre d’entrevue). Et si vous êtes comme moi, vous avez essayé de distinguer les différences et avez eu beaucoup de mal à le faire.

donc — je vais essayer de le décomposer en morceaux faciles à gérer, afin que les débutants comme vous et moi puissent envelopper notre cerveau autour de ces trois agrafes Java. Commençons par la signification de ces acronymes..,

JDK représente le « kit de développement Java”.

JRE signifie « environnement D’exécution Java”.

et JVM est simplement la « machine virtuelle Java”.

le décomposer— le JDK: le JRE et la JVM peuvent être logés dans le JDK. Un JDK est utilisé pour 1) Développer 2) Exécuter et 3) afficher le code. Le JDK est un sur-ensemble du JRE et contient tout ce qui se trouve dans le JRE, ainsi que des outils tels que les compilateurs et les débogueurs nécessaires au développement d’applets et d’applications (StackOverflow)., Si vous êtes un développeur intéressé par la création de vos propres applications Java ou applets, vous voudrez installer un JDK. Pour les développeurs qui souhaitent travailler dans un environnement de développement intégré (e), un JDK fourni avec Netbeans peut être téléchargé à partir du site Web Oracle (Techopedia). Il existe différents JDK pour convenir à une grande variété de plates-formes. En un mot, le JDK est un environnement de développement logiciel Java, utilisé par les développeurs pour créer et gérer des applications/applets.

OK! Passons maintenant au JRE: en termes simples, le JRE représente L’environnement D’exécution Java., C’est là que le code est 1) exécuté et 2) affiché. Le JRE contient une machine virtuelle Java, des bibliothèques de classes et d’autres fichiers de support. Il est essentiel d’exécuter une application/applet Java. Selon Techopedia, le JRE se compose des composants suivants:

  1. technologies de déploiement— y compris le déploiement, Java Web Start et Java Plug-in.,
  2. bibliothèques D’intégration-y compris Interface Definition Language (IDL), Java Database Connectivity (JDBC), Java Naming and Directory Interface (JNDI), Remote Method Invocation (RMI), Remote Method Invocation Over Internet Inter-Orb Protocol (RMI-IIOP) et scripting.
  3. autres bibliothèques de base – y compris le support international, les entrées/sorties (E/S), le mécanisme d’extension, Les Beans, les Extensions de gestion Java (JMX), L’Interface native Java (JNI), les mathématiques, la mise en réseau, le mécanisme de remplacement, la sécurité, la sérialisation et Java pour le traitement XML (XML JAXP).,
  4. bibliothèques de base Lang et util-y compris lang et util, gestion des versions, zip, instrument, réflexion, Collections, utilitaires de concurrence, Archive Java (JAR), journalisation, API de préférences, objets Ref et Expressions régulières.
  5. machine virtuelle Java (JVM), y compris les machines virtuelles Java HotSpot Client et serveur.

Les JREs plus récents hébergent plusieurs milliers de classes et de nouvelles API ont été introduites.

enfin, parlons de la plus petite unité des trois: la JVM!, La machine virtuelle Java affiche les applications/applets Java en interprétant essentiellement le code D’octet Java en code machine. Il est responsable de toutes les choses comme la collecte des ordures, la vérification des limites de tableau, etc J JVM dépend de la plate-forme (StackOverflow). Il est appelé « virtuel” car il fournit une interface machine qui ne dépend pas du système d’exploitation sous-jacent et de l’architecture matérielle de la machine. Grâce à la JVM, le code Java peut être écrit une fois et exécuté n’importe où (sur n’importe quelle machine)., En un mot, la JVM a deux fonctions principales 1) pour permettre aux programmes Java de s’exécuter virtuellement sur n’importe quel appareil ou système d’exploitation et 2) pour gérer et optimiser la mémoire du programme.

Laisser un commentaire

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