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 el Java máquina virtual ha determinado que ya no hay ningún medio por el que cualquier subproceso al que pueda acceder este objeto 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 Java lenguaje de programación 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 el Java máquina virtual haya determinado de nuevo que ya no hay ningún medio por el finalize que cualquier subproceso al que aún no haya muerto este objeto, 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.

Java documentación para java.lang.Object.finalize().

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a