IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Est-ce qu'une JVM suffit ou bien nécessité d'une JRE pour faire fonctionner un programme ?


Sujet :

Java

  1. #1
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut Est-ce qu'une JVM suffit ou bien nécessité d'une JRE pour faire fonctionner un programme ?
    Bonjour,

    Je sais qu'une JRE inclu une JVM, de même que le JDK inclu une JVM et JRE. Mais j'aimerais tout de même avoir des confirmations de votre part.

    1. Je souhaiterais donc savoir si une machine peut juste avoir une JVM, sans JRE, et faire fonctionner les bytecodes : Est-ce que la JVM a recours au JRE pour récupérer des classes du standard ? Ou bien est-ce que le bytecode produit inclus les implémentations des classes du standard ?
    2. Pourriez-vous me dire à quel niveau se situe JIT ? Au niveau de la JVM ?
    3. Pourriez-vous me dire à quel niveau le système de Garbage Collector ? Au niveau de la JVM ?

    Cordialement,
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Je dit peut être des bêtises car on a rarement besoin de faire la distinction JVM / JRE:


    Java Virtual Machine: n'importe quelle infrastructure comprenant le bytecode java et capable de l'exécuter.
    JRE: JVM + les librairies standard java formant Java SE

    JIT/ Garbage Collector: JVM

    Pour faire une analogie avec les PC:

    JVM: processeur, carte mère, carte vidéo, disque dur, alim, clavier, etc
    JRE: Windows ou linux.

    Ton programme, sauf cas très très très particulier, a besoin de l'ensemble

    Le bytecode n'inclu que ton programme. Le contenu des classes dont ils dépends (ArrayList, etc) n'est jamais recopié dedans, ça n'aurait pas de sens.

  3. #3
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    Bonsoir.
    L'explication donnée par tchize_ est tout à fait juste. Cependant, je me permettrai cette précision :
    Il ne peut y avoir de JVM sans JRE.
    JRE signifie Java Runtime Environment. Il s'agit en fait d'un programme exécutable dédié au système hôte. L'exécution de ce programme ayant pour but de créer l'environnement virtuel Java permettant l'exécution du code pré-compilé Java.
    Vous comprendrez donc l'analogie présentée par tchize_. Le seul moyen de se passer de JRE, est d'évoluer sur un système hôte possèdant un environnement Java natif, comme Android par exemple ou plein d'autre...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/11/2014, 13h56
  2. Réponses: 23
    Dernier message: 13/05/2014, 12h36
  3. pour faire fonctionner une bdd que faut-il donner ?
    Par micuthana dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 18/09/2010, 15h26
  4. Réponses: 2
    Dernier message: 15/11/2008, 13h28
  5. Manque paquets pour faire fonctionner une application
    Par mullger dans le forum Applications et environnements graphiques
    Réponses: 21
    Dernier message: 30/04/2007, 13h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo