Object.JavaFinalize Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .
[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
- Atributos
Excepciones
Comentarios
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . Una subclase invalida el finalize
método para eliminar los recursos del sistema o para realizar otra limpieza.
El contrato general de finalize
es que se invoca si y cuando la máquina virtual java™ ha determinado que ya no hay ningún medio por el que cualquier subproceso al que pueda acceder este objeto que aún no ha muerto, excepto como resultado de una acción realizada por la finalización de algún otro objeto o clase que esté listo para finalizarse. El finalize
método puede realizar cualquier acción, incluida la puesta a disposición de este objeto de nuevo para otros subprocesos; el propósito habitual de finalize
, sin embargo, es realizar acciones de limpieza antes de que el objeto se descarte de forma irrevocable. Por ejemplo, el método finalize para un objeto que representa una conexión de entrada y salida podría realizar transacciones explícitas de E/S para interrumpir la conexión antes de que el objeto se descarte permanentemente.
El finalize
método de la clase Object
no realiza ninguna acción especial; simplemente devuelve normalmente. Las subclases de Object
pueden invalidar esta definición.
El lenguaje de programación Java no garantiza qué subproceso invocará el finalize
método para cualquier objeto determinado. Sin embargo, se garantiza que el subproceso que invoca finalizar no contendrá ningún bloqueo de sincronización visible para el usuario cuando se invoque finalize. Si el método finalize produce una excepción no detectada, se omite la excepción y finaliza la finalización de ese objeto.
Una vez invocado el método para un objeto, no se realiza ninguna otra acción hasta que la máquina virtual Java haya determinado de nuevo que ya no hay ningún medio por el finalize
que cualquier subproceso al que no haya muerto aún, incluidas las acciones posibles por otros objetos o clases que estén listos para finalizarse, en qué momento se puede descartar el objeto.
El finalize
método nunca se invoca más de una vez por una máquina virtual Java para cualquier objeto determinado.
Cualquier excepción producida por el finalize
método hace que se detenga la finalización de este objeto, pero de lo contrario se omite.
Documentación de Java para java.lang.Object.finalize()
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.