« Je voudrais aussi te parler de quelques petites choses intéressantes sur la durée de vie des objets. En Java, il est très difficile de détruire accidentellement un objet. Si tu as une référence à un objet, il est vivant.

Tu ne peux pas modifier les références à un objet, et tu ne peux pas les augmenter ou les diminuer. De plus, tu ne peux pas créer de référence à un objet. Tu peux seulement lui attribuer une référence ou le définir sur null. »

« Je crois que je comprends, Ellie. Donc, si j'efface (ou définis sur null) toutes les références à un objet, je ne serai plus jamais en mesure d'obtenir une référence à cet objet ou d'y accéder, c'est ça ? »

« Exact. Cependant, tu peux aussi avoir une situation où le système a trop d'objets vivants qui ne sont pas utilisés. Les programmeurs créent souvent des dizaines d'objets, puis les stockent dans diverses listes pour les traiter, sans jamais vider ces listes.

Les objets dont les programmeurs n'ont pas besoin sont généralement simplement marqués comme éligibles pour le ramasse-miettes. Personne ne les supprime des listes. En conséquence, les grands programmes Java deviennent souvent trop gros, car de plus en plus d'objets inutilisés restent en mémoire.

Tu ne rencontreras pas ce problème tout de suite, mais je te reparlerai souvent de ces objets inutilisés, ainsi que de la bonne façon de s'en débarrasser. »

« OK. Merci de m'avoir aidé à mieux comprendre les références, Ellie. »