Bonjour à tous,
j'ai créé une classe contenant la méthode finalize() suivant:
Ensuite j'ai crée la classe suivante:
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"); } }
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
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() ; } }
Pourquoi je suis obligé d'ajouter cette instruction pour que finalize() s'execute
Code : Sélectionner tout - Visualiser dans une fenêtre à part c = null ;
Partager