¿Qué es el método finalize() en Java y cómo anularlo?

Que Es El Metodo Finalize En Java Y Como Anularlo



Java proporciona al desarrollador una gran funcionalidad para administrar los recursos del sistema de manera efectiva. En tal escenario, el “ finalizar() Entra en vigor el método que libera los recursos del sistema antes de que el recolector de elementos no utilizados se ejecute para un objeto específico. La “Máquina Virtual Java (JVM)”, sin embargo, permite invocar el método “finalizar()” una vez por objeto.

Este blog discutirá el uso y la anulación del método 'finalizar ()'.







¿Qué es el método 'finalizar ()' de Java y cómo anularlo?

El ' finalizar() ” método de la “ Objeto La clase ” es invocada por el “Recolector de basura” justo antes de eliminar el objeto que es adecuado para la recolección de basura para aplicar la tarea de limpieza.



Sintaxis



vacío protegido finalizar ( ) lanza

 





En esta sintaxis, “ protegido ” es un especificador de acceso que implica que solo se puede acceder a este método dentro de la clase y las clases derivadas de esa clase.

Ejemplo 1: Aplicar el método “finalize()” en Java



Este ejemplo ilustra la utilización del método “finalize()”:

clase pública Finalize2 {
vacío protegido finalizar ( ) {
Sistema.fuera.println ( '¡Este es el método Finalizar!' ) ;
}
vacío público estático principal ( Cadena [ ] argumentos ) {
Finalizar2 objeto = nuevo Finalizar2 ( ) ;
objeto = nulo;
Sistema.gc ( ) ;
Sistema.fuera.println ( '¡Se invoca al recolector de basura!' ) ;
} }

 

En las líneas de código anteriores:

  • Aplica el ' finalizar() ” método dentro de la clase “Finalizar2” que comprende la declaración indicada.
  • En ' principal ”, crea un objeto de clase a través del constructor “Finalize2()”.
  • Ahora, asigne a un objeto un ' nulo ' valor. Es tal que cuando tiene un valor “nulo”, no hay referencia y, por lo tanto, es adecuado para la recolección de basura.
  • Después de eso, aplique el “ Sistema.gc () ” para ejecutar el recolector de basura, llamando así al método “finalize()”.

Producción

Aquí, se puede verificar que el método “finalize()” se invoque apropiadamente.

Ejemplo 2: anular el método Java “finalize()”

El ' Objeto La clase ” corresponde a la clase principal de todas las clases de Java. El método “finalize()” presente en esta clase no tiene implementación. Sin embargo, en la definición de clase, las actividades de limpieza están ahí. Por lo tanto, anular este método da como resultado la realización de las actividades de limpieza definidas:

clase pública Finalizar {
vacío protegido finalizar ( ) lanza {
intentar {
Sistema.fuera.println ( 'El método finalize() de la clase' ) ;
}
atrapar ( Lanzable excepto ) {
tirar excepto;
}
finalmente {
Sistema.fuera.println ( 'Invocando el método finalize() de la clase Object' ) ;
super.finalizar ( ) ;
} }
vacío público estático principal ( Cadena [ ] argumentos ) lanza {
Finalizar obj = nuevo Finalizar ( ) ;
obj.finalizar ( ) ;
} }

 

De acuerdo con el bloque de código anterior:

  • Especifica el ' finalizar() ” método y declarar el “ arrojable excepción, respectivamente.
  • En el ' intentar bloque ', especifique la declaración indicada y haga frente a la excepción en el' atrapar ' bloquear.
  • En el ' finalmente ” bloque, el “ súper La palabra clave apunta al método 'finalizar ()' de la clase de objeto. Se aplica en este bloque específico para garantizar la ejecución del método 'finalizar ()' incluso si se enfrenta a una excepción.
  • En ' principal ”, cree un objeto de clase y anule el método “finalizar ()” de la clase de objeto con el método especificado/definido en la clase “Finalizar”.

Producción

En este resultado, se puede observar que el método 'finalizar ()' se anula con éxito.

Conclusión

El ' finalizar() El método ” es invocado por el “Recolector de basura” antes de eliminar el objeto y puede anularse usando el método “ súper ” palabra clave. Este blog discutió el uso y la anulación del método 'finalizar ()' en Java.