Je me demandais juste si ça quand tu as réglé
obj1 = null;
l'objet est éligible pour gc, est-il également vrai que tout ce qui a une valeur nulle est également techniquement éligible?
Je m'interroge particulièrement sur les tableaux, disons si vous avez quelque chose comme
[obj1, obj2, null, obj3, null, obj 4, obj5]
Le gc peut-il exécuter et supprimer l'objet nul pour que les éléments soient vides?
Il n'y a pas d '"objet nul" et nul est l'élément le plus proche d'une référence vide. Les définitions clés se trouvent dans la spécification du langage Java, 4.3.1. Objets :
Un objet est une instance de classe ou un tableau.
Les valeurs de référence (souvent simplement des références) sont des pointeurs vers ces objets et une référence nulle spéciale, qui ne fait référence à aucun objet.
obj1 = null;
change la variable de référence obj1
pour qu'elle soit nulle. S'il faisait référence auparavant à un objet, il ne le fait plus.
Il peut y avoir d'autres références qui font référence à cet objet, de sorte que l'objet reste accessible et le garbage collector le laissera seul. S'il obj1
s'agissait de la dernière référence à l'objet, il n'est plus accessible et est éligible pour la finalisation.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots