Bonjour à tous,
j'ai créé une classe contenant la méthode finalize() suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
class MaClasse {
.....
           protected void finalize(){
                 System.out.println("Objet détruit");
            }
}
Ensuite j'ai crée la classe suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
class TestClasse {
         public void main(String[]a) {
                  MaClasse c = new MaClasse();
                  System.gc() ;
          }
}
lors de l'execution le message Objet détruit ne s'affiche pas par contre si j'ajoute l'instruction suivante avant l'appel du ramasse miettes le message s'affiche
Pourquoi je suis obligé d'ajouter cette instruction pour que finalize() s'execute