Red de conocimiento informático - Material del sitio web - ¿Cómo liberar proactivamente objetos inútiles en Java para que el GC del sistema pueda liberar memoria lo antes posible? ¿A qué debo prestar atención en la programación?

¿Cómo liberar proactivamente objetos inútiles en Java para que el GC del sistema pueda liberar memoria lo antes posible? ¿A qué debo prestar atención en la programación?

1. En comparación con el lenguaje C, el recolector de basura es una gran ventaja de JAVA. Su función es liberar automáticamente la memoria ocupada por la infracción, pero tiene su propio algoritmo sobre cuándo liberarla y no permite a los usuarios liberar la memoria directamente.

2. Todo lo que el usuario puede hacer es usar System.gc() para notificar al recolector de basura JAVA que use Object.finalize() uno por uno en el momento "apropiado" para borrar cada objeto que se encuentre. no referenciado por el programa.

3. Llamar al método finalize() de Object no iniciará ningún efecto. Solo puede reescribir el método para realizar operaciones que deben realizarse antes de que se destruya el objeto, como cerrar IO, etc.

4. Lo que también puede hacer el usuario es especificar que la memoria ocupada por esos objetos será liberada asignando el valor del objeto a NULL.

5. Lo que deben hacer los usuarios de programación es mejorar la reutilización de los objetos y declarar la menor cantidad de objetos posible.