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

avec Java Discussion :

Différence entre le classpath, le bootclasspath et les classloader


Sujet :

avec Java

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 643
    Points : 305
    Points
    305
    Par défaut Différence entre le classpath, le bootclasspath et les classloader
    Salut à tous,

    J'ai du mal à cerner la différence entre le classpath, le bootclasspath et les classloader. Les utilisations semble être tellement proche et se croiser que je ne comprends pas exactement leur rôle.

    Quelqu'un aurait une réponse précise et pragmatique à me fournir afin de me sortir de l'obscurité svp ?



    Merci à tous,

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 71
    Points : 89
    Points
    89
    Par défaut
    Classpath : path pour trouver les classes : un ensemble de chemin dans lequel on est susceptible de trouver des .class

    ClassLoader : une classe qui va charger une classe à partir des .class trouvés dans le classpath

    BootClassPath...
    ClassLoader est une classe Java... qui étend donc Object, comme toutes les classes Java... oui mais pour trouver la classe Object, il faut un classLoader, donc on tourne en rond.

    La solution : le bootstrap classLoader, qui va servir à charger toutes les classes se trouvant dans rt.jar (rt pour runtime?) , dont java.lang.Object, java.lang.ClassLoader.

    Le bootClassPath, c'est le chemin qui te permet de trouver rt.jar

  3. #3
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Bonjour,
    il y'a les réponses en ce qui concerne le CLASSPATH et le BOOTCLASSPATH dans la FAQ du site.
    http://java.developpez.com/faq/java/...UAGE_CLASSPATH

    Pour le classloader qui permet de charger les classes Java, tu peux lire ceci http://java.developpez.com/faq/java/...iquementClasse

    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 643
    Points : 305
    Points
    305
    Par défaut
    BootClassPath...
    ClassLoader est une classe Java... qui étend donc Object, comme toutes les classes Java... oui mais pour trouver la classe Object, il faut un classLoader, donc on tourne en rond.

    La solution : le bootstrap classLoader, qui va servir à charger toutes les classes se trouvant dans rt.jar (rt pour runtime?) , dont java.lang.Object, java.lang.ClassLoader.

    Le bootClassPath, c'est le chemin qui te permet de trouver rt.jar
    Donc le bootstrap est un type de classLoader qui utilise le bootClassPath ?

    Concernant le rechargement dynamique de classes je ne comprends pas bien la chose puisque je n'ai jamais été confronté à un soucis de ce type.

    Ce qui m'avait embrouillé était le fait de n'avoir trouvé aucunes réel informations concernant le bootstrap java. Enfin maintenant tout est clair je vous remercie pour votre aide

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 71
    Points : 89
    Points
    89
    Par défaut
    Donc le bootstrap est un type de classLoader qui utilise le bootClassPath ?
    Oui. Le bootstrap classloader est un class loader qui sert à charger les classes principales. Il permet de trouver les classes qui sont dans le boot classpath.

    Note: C'est le seul classLoader qui ne soit pas écrit en Java (sinon, il faudrait un classLoader pour le charger...). Si tu essaies de récupérer le classLoader des classes chargées par le bootstrapClassLoader (comme java.lang.Object), ça te renverra null.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 643
    Points : 305
    Points
    305
    Par défaut
    Bon weekend à tous !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 67
    Dernier message: 16/12/2007, 13h41
  2. [XUP] Différence entre UP et XP, peut-on les combiner ?
    Par condor_01 dans le forum Méthodes Agiles
    Réponses: 1
    Dernier message: 12/12/2007, 11h46
  3. Réponses: 17
    Dernier message: 05/07/2007, 14h33
  4. Réponses: 8
    Dernier message: 28/01/2006, 16h53
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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