Maison > Questions et réponses > le corps du texte
Les variables de la boucle seront-elles recyclées après chaque boucle
Par exemple
for (int i=0;i<1000000;i++){
Date date=new Date();
}
Cette date n'est pas référencée, les poubelles seront-elles collectées ? Que se passe-t-il si l'objet créé est référencé ?
我想大声告诉你2017-05-17 10:00:29
Le GC de Java comprend YGC et FGC.
L'objet date qui n'est pas référencé ici sera certes recyclé, mais pas après chaque cycle.
Le timing de GC n'est pas forcément lié à l'exécution de votre code.
Pour des connaissances connexes, vous pouvez Baidu télécharger Java GC
过去多啦不再A梦2017-05-17 10:00:29
La réponse à cette question réside dans les circonstances dans lesquelles le mécanisme de garbage collection de la jvm effectuera le garbage collection.
Le rôle des variables locales est {}, c'est-à-dire que la date n'est pas référencée. Lorsque le garbage collection est effectué, la date ici sera recyclée.
習慣沉默2017-05-17 10:00:29
Un nouvel objet est stocké dans le tas et l'objet nouvellement créé est stocké dans la zone eden. Ce n'est que lorsque la zone eden est pleine que le Monitor GC sera déclenché pour le recyclage.
Vous pouvez ajouter -XX:+PrintGCDetails
aux paramètres d'exécution pour observer la situation du recyclage du GC.