Demande dans la programmation

bonjour!
je suis debutant en java.
j'ai solicite votre aide!
comment je pouvais supprime le contenu d'une variable deja dans un programme?
merci d'avence...

--
Odne Nicolson

1 réponse

  1. Tu peux supprimer un objet en faisant

    objet = null;

    le garbage collector supprimera l'espace alloué à l'objet .
    1. Modérateur
      Bonjour,
      le garbage collector supprimera l'espace alloué
      ... si il veut !

      Le gc n'est généralement appelé que lorsqu'il n'y a plus de mémoire disponible, donc même s'il n'est plus utilisé, l'objet restera en mémoire au moins jusqu'au prochain gc.
      Cependant il existe plusieurs générations d'objets dans la mémoire, quand le gc veut libérer de la mémoire il supprime d'abord les objets les plus récents (young generation), plus rapides à supprimer. Mais les objets les plus anciens (old generation), même s'ils ne sont plus utilisés, resteront en mémoire après un gc.
      Il n'y a vraiment que lorsque le nettoyage de la young n'est plus suffisant pour libérer de la mémoire que la old est à son tour nettoyée, par un full gc. À ce moment là seulement on est sûr que tout les objets non utilisés sont supprimés.

      Remarque :
      objet = null
      ne suffit pas pour garantir que l'objet n'est plus utilisé.
      Si je fais
      Object x = new Object(), y = x; x = null;
      l'objet est encore utilisé par
      y
      , donc le gc ne le supprimera pas tant que
      y
      sera utilisé par le programme...
    2. Je prends note des explications, après si on veut contrôler la mémoire précisément au point d'être à une variable près autant se tourner vers du C. Attendons de voir si l'auteur précise ses besoins