Object.JavaFinalize Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.
[Android.Runtime.Register("finalize", "()V", "GetJavaFinalizeHandler")]
protected virtual void JavaFinalize ();
[<Android.Runtime.Register("finalize", "()V", "GetJavaFinalizeHandler")>]
abstract member JavaFinalize : unit -> unit
override this.JavaFinalize : unit -> unit
- Attributs
Exceptions
Remarques
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. Une sous-classe remplace la finalize
méthode pour supprimer des ressources système ou effectuer d’autres nettoyages.
Le contrat général d’est finalize
qu’il est appelé si et quand la machine virtuelle Java> a déterminé qu’il n’existe plus de moyens par lesquels cet objet est accessible par n’importe quel thread qui n’a pas encore disparu, sauf en raison d’une action effectuée par la finalisation d’un autre objet ou classe prêt à être finalisé. La finalize
méthode peut prendre n’importe quelle action, y compris rendre cet objet disponible à nouveau pour d’autres threads ; toutefois, l’objectif habituel est d’effectuer finalize
des actions de nettoyage avant que l’objet soit définitivement ignoré. Par exemple, la méthode finalise pour un objet qui représente une connexion d’entrée/sortie peut effectuer des transactions d’E/S explicites pour interrompre la connexion avant que l’objet soit définitivement ignoré.
La finalize
méthode de classe Object
n’effectue aucune action spéciale ; elle retourne simplement normalement. Les sous-classes de Object
peut remplacer cette définition.
Le langage de programmation Java ne garantit pas quel thread appelle la finalize
méthode pour un objet donné. Toutefois, il est garanti que le thread qui appelle la finalisation ne contiendra pas de verrous de synchronisation visibles par l’utilisateur lors de l’appel de la finalisation. Si une exception non interceptée est levée par la méthode finalise, l’exception est ignorée et la finalisation de cet objet se termine.
Une fois la finalize
méthode appelée pour un objet, aucune autre action n’est effectuée tant que la machine virtuelle Java n’a plus déterminé qu’il n’existe plus de moyens d’accéder à cet objet par n’importe quel thread qui n’est pas encore mort, y compris les actions possibles par d’autres objets ou classes prêts à être finalisés, à quel moment l’objet peut être ignoré.
La finalize
méthode n’est jamais appelée plusieurs fois par une machine virtuelle Java pour un objet donné.
Toute exception levée par la méthode entraîne l’arrêt de la finalize
finalisation de cet objet, mais elle est sinon ignorée.
Documentation Java pour java.lang.Object.finalize()
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.