|
Beaucoup d’amis sont comme moi et qui utilisent JAVA depuis longtemps, mais la connexion et la différence entre JDK, JRE et JVM ont toujours été floues. Aujourd’hui, je vais écrire cet article pour clarifier la relation entre les trois.
JDK : Boîte à outils de développement Java. Le JDK est le cœur de l’ensemble de JAVA, y compris l’environnement Java Runtime, un ensemble d’outils Java (javac/java/jdb, etc.) et des bibliothèques basées sur Java (c’est-à-dire que les API Java incluent rt.jar). Le JDK le plus grand public est le JDK publié par Sun, en plus de Sun, de nombreuses entreprises et organisations ont développé leur propre JDK, comme des entreprises IBM étrangères qui ont développé leur propre JDK, Taobao national a aussi développé son propre JDK, diverses organisations ont développé leur propre JDK afin d’obtenir des améliorations dans certains aspects, pour s’adapter à leurs propres besoins, comme le JDK d’IBM qui est considéré comme beaucoup plus efficace que celui de SUN. Mais dans tous les cas, il faut d’abord maîtriser le JDK de base de Sun. Il existe trois versions du JDK : J2SE, édition standard, édition standard, est une version que nous utilisons généralement J2EE, Enterprise Edtion, édition entreprise, utilisant ce JDK pour développer des applications J2EE J2ME, micro-édition, principalement utilisée pour des applications Java sur appareils mobiles et embarqués
Nous utilisons souvent JDK pour désigner Java API, Java API est l’interface de programmation d’applications Java ; en fait, il s’agit de certaines classes Java écrites par nos prédécesseurs, y compris certaines structures de langage importantes et des graphiques de base, des entrées/sorties réseau et de fichiers, etc., que nous appelons ces classes écrites par nos prédécesseurs dans nos propres programmes, comme base pour notre propre développement. Bien sûr, il existe de plus en plus de bibliothèques tierces avec de meilleures performances ou des fonctionnalités plus puissantes à notre disposition.
JRE : Java Runtime Environnemental. En d’autres termes, tous les programmes Java doivent être sous le JRE pour pouvoir s’exécuter. Inclut les bibliothèques centrales JVM et JAVA ainsi que les fichiers de support. Comparé au JDK, il n’inclut pas les outils de développement - compilateurs, débogueurs et autres outils.
JVM : Java Virtual Mechinal (JAVA Virtual Machine). La JVM fait partie du JRE, un ordinateur fictif implémenté en simulant diverses fonctions informatiques sur un ordinateur réel. La JVM possède sa propre architecture matérielle complète, telle que processeurs, piles, registres, etc., et dispose également d’un système d’instructions correspondant. La tâche principale de la JVM est d’interpréter son propre jeu d’instructions (c’est-à-dire le bytecode) et de le mapper au jeu d’instructions du processeur local ou aux appels système du système d’exploitation. Le langage Java fonctionne multiplateforme, qui est en réalité un système d’exploitation différent, utilisant différentes règles de cartographie JVM pour le rendre indépendant du système d’exploitation et entièrement multiplateforme. La JVM ne se soucie pas des fichiers source Java de haut niveau, elle ne s’intéresse qu’aux fichiers de classe générés par ces fichiers sources. Le fichier de classes se compose d’un jeu d’instructions JVM, d’une table de symboles et de quelques informations complémentaires. La figure suivante donne un bon aperçu de la relation entre JDK, JRE et JVM :
La situation réelle de notre développement est qu’après avoir développé notre propre programme JAVA en utilisant le JDK (appelez JAVA API), nous compilons nos fichiers texte Java en bytecode JAVA via le compilateur (javac) dans le JDK, exécutons ces bytecodes JAVA sur le JRE, la JVM analyse ces octets, et les mapperons au jeu d’instructions CPU ou aux appels système du système d’exploitation.
|