Compartir a través de


Object.JavaFinalize Método

Definición

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.

Se aplica a