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

Langage Java Discussion :

références identiques et cases mémoire


Sujet :

Langage Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    959
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 959
    Points : 141
    Points
    141
    Par défaut références identiques et cases mémoire
    bonjour,

    Soit deux variables d1 et d2 du type date
    Date d1= New date()
    Date d2 = New date()


    Si j'écris d1=d2, est ce qu'en mémoire il y a deux cases mémoire qui contiennent toutes les deux l'adresse de l'objet de type date vers lequel pointent les deux variables d1 et d2 ou n'y a t-il qu'une seule case mémoire qui contient une seule adresse mémoire qui est celle de l'objet crée.

    Merci de votre aide.

    Cordialement.

    Nathalie
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

  2. #2
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Lorsque tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    a = new Date(); // O1
    b = new Date(); // O2
    Alors il y a deux cases - si l'on peut dire -, une pour l'objet O1 et une pour l'objet O2. Les variables a et b occupent chacune un pointeur, celui de a pointe vers O1, celui de b vers O2.

    Si maintenant tu fais :
    Alors il y a toujours deux objets, O1 et O2, deux références a et b, qui pointent toutes les deux vers O1.

    Probablement, O2 sera supprimé au prochain déclanchement du ramasse-miettes.

    Donc comme tu dis il y a toujours deux cases mémoires a et b;

    Les cases mémoires de variables sont nettoyées dès lors qu'elles ne sont plus accessible par le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    {
     A a, b; // ici les cases mémoires des variables sont réservées
     
     ...
    } // là les cases mémoires de a et b ont une chance d'être nettoyées.
    Pour les objets, leur case mémoire est nettoyée dès lors qu'elles ne sont plus accessibles à l'exécution, donc qu'aucune case mémoire de variable ne peut les atteindre.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

Discussions similaires

  1. [Quick Assembler/ DOS] Réservation de cases mémoire
    Par jean leboeuf dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 03/11/2008, 15h53
  2. Réponses: 0
    Dernier message: 23/02/2008, 13h42
  3. Réponses: 13
    Dernier message: 14/02/2008, 13h27
  4. allocation cases mémoires consécutives
    Par salseropom dans le forum C
    Réponses: 2
    Dernier message: 06/10/2006, 13h33
  5. Réponses: 21
    Dernier message: 21/07/2006, 16h55

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