À propos des problèmes de récupération de place Java
为情所困
为情所困 2017-05-17 09:58:29
0
3
765

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é ?

为情所困
为情所困

répondre à tous(3)
我想大声告诉你

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梦

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.

習慣沉默

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal