De ce post Strong references never be garbage collected, Avec cette compréhension, je suppose que si nous créons un Strong Reference objects
infini en mémoire, puis il doit lancer OutOfMemory
erreur.Aucune erreur OutOfMemory pour les objets fortement référencés - Pourquoi?
Cependant, lorsque j'ai couru sous le programme fictif, il n'a jamais traversé l'erreur OutOfMemory
bien que j'ai créé des objets infinis dans la boucle while.
public class Test2 {
public static void main(String[] args) {
while (true) {
Test2 obj = new Test2();
System.out.println(obj);
}
}
}
S'il vous plaît aidez-moi à comprendre si des objets solides référencés ne sont jamais recueillies alors comment les ordures viennent il n'y a pas d'erreur OOM
.
Ils sont recueillis dès qu'ils sortent de la portée; c'est, immédiatement. – shmosel
@ shmosel- Avez-vous lu le message que j'ai joint? Il a 80 Likes sur la réponse, si vous avez quelque chose d'autre s'il vous plaît élaborer en réponse afin que nous puissions comprendre .. s'il vous plaît –
Oui, quel est votre point? Il n'y a pas d'objet de référence fort. Votre code crée de nombreux objets, mais n'alloue qu'une seule référence forte. – shmosel