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 java™ la máquina virtual ha determinado que ya no hay ningún medio por el que cualquier subproceso que aún no haya 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 disponibilidad 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 de un objeto que representa una conexión de entrada y salida podría realizar transacciones de E/S explícitas 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 se finaliza la finalización de ese objeto.

Después de invocar el finalize 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 que cualquier subproceso que aún no haya muerto, incluidas las posibles acciones de otros objetos o clases que están listos para finalizarse, momento en el que 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 Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Se aplica a