web-dev-qa-db-fra.com

JVM sans JRE

Pourquoi la machine virtuelle Java ne peut-elle pas s'exécuter sans l'environnement d'exécution Java?

Quel est l'objectif de la machine virtuelle Java et de l'environnement d'exécution Java? Quelles sont les deux choses en réalité?

3
Asad Mehmood

Les responsables de package Java ont décidé d'inclure la machine virtuelle (JVM) Java dans l'environnement d'exécution (JRE) Java, lui-même inclus dans le kit de développement Java. (JDK). Les deux options d'installation de Java dans les référentiels Ubuntu incluent la machine virtuelle Java. Vous ne pouvez pas exécuter le programme Java sans la machine virtuelle Java. La machine virtuelle Java est responsable de l'exécution d'un programme Java, mais le seul fichier pouvant être exécuté par la machine virtuelle est le bytecode Java, un code source compilé Java. source

De la documentation Oracle :

Java Runtime Environment (JRE)

L'environnement d'exécution Java (JRE) fournit les bibliothèques, la machine virtuelle Java et d'autres composants permettant d'exécuter des applets et des applications écrites dans le langage de programmation Java. En outre, deux technologies de déploiement clés font partie de JRE: le plug-in Java, qui permet aux applets de s'exécuter dans les navigateurs courants; et Java Web Start, qui déploie des applications autonomes sur un réseau. C'est également le fondement des technologies de la plate-forme Java 2, Enterprise Edition (J2EE) pour le développement et le déploiement de logiciels d'entreprise. JRE ne contient pas d'outils et d'utilitaires tels que des compilateurs ou des débogueurs pour développer des applets et des applications.

Java Development Kit (JDK)

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.

Pour exécuter les programmes Java sur votre ordinateur, il vous suffit d'installer le JRE. Si vous envisagez de programmer Java, vous devez plutôt installer le JDK.

Dans Ubuntu, les packages JRE et JDK par défaut peuvent être installés avec Sudo apt install default-jre et Sudo apt install default-jdk. Il est également possible d'installer des versions spécifiques de JRE et JDK, par exemple openjdk-11-jre et openjdk-11-jdk .

Les plug-ins de navigateur Web Java et Java Web Start, qui font partie d'Oracle Java, ne sont pas inclus dans OpenJDK à partir des référentiels Ubuntu par défaut.

7
karel

La machine virtuelle (JVM) Java est un programme. Il a la capacité de lire et d'exécuter le code Java compilé. Pensez-y comme le processeur d'un ordinateur.

Le Java Environnement d'exécution (JRE) est un plate-forme. Il inclut la machine virtuelle Java ainsi que du code et des bibliothèques supplémentaires permettant de créer un environnement fonctionnel dans lequel exécuter les programmes Java. système installé sur un ordinateur.

La JVM "a besoin" de la JRE de la même manière qu'un processeur (CPU) "a besoin" d'un système d'exploitation (OS): à la vérité, elle n'en a pas, mais vous aurez du mal à la forcer à faire quelque chose d'utile sans expert connaissance.

En outre, il existe le Java Development Kit (JDK), qui est un collection d'outils. Il comprend un compilateur et divers outils de débogage et de collecte d’informations pour créer des applications Java. Il peut inclure un JRE.

4
JvR

JVM est la machine virtuelle qui interprète Java bytecode et l'exécute afin qu'un programme basé sur Java bytecode puisse être exécuté sur la machine actuelle.

JRE est l'ensemble de bibliothèques standard de Java. Chaque classe utilisée dans Java Programms (la chaîne de classes, l'objet, etc.)

Il pourrait être possible d’exécuter Java Bytecode sans le JRE entier, mais pas sans cela car la JVM utilise de nombreuses classes du JRE (comme Object , String, Unsafe, etc.).

0
Serverfrog