Coleção de lixo em Java | Explicado

Coleção de lixo em Java | Explicado

Java fornece um conceito de coleção de lixo para tornar a memória mais eficiente. O termo lixo significa objetos não referenciados, enquanto a coleção de lixo refere -se a um processo que recupera a memória não utilizada do tempo de execução automaticamente. As funções gratuitas () e delete () são usadas na linguagem C e na linguagem C ++, respectivamente, para alcançar a coleta de lixo, no entanto, em Java, ela é realizada automaticamente e, portanto, Java fornece melhor gerenciamento de memória.

Este artigo apresenta os seguintes aspectos da coleção de lixo Java:

  1. O que é Java Garbage Collection?
  2. Vantagens da coleta de lixo java
  3. Como objeto não referenciado
  4. Finalize () Método na Coleção de Lixo
  5. Sistema.Método GC () na coleta de lixo
  6. Exemplos de coleta de lixo java

Então vamos começar!

O que é coleção de lixo em java

A destruição de um objeto "fora de uso" pode ser feito com a ajuda da coleta de lixo. Nenhuma referência a um objeto significa que não há necessidade de manter esse objeto e, portanto, a memória ocupada/tomada por esse objeto será liberada. O fenômeno de liberar automaticamente a memória é chamado de coleção de lixo em java.

Vantagens da coleta de lixo java

A Java Garbage Collection oferece várias vantagens, alguns deles estão listados abaixo:

  • Exclusão automática de objetos desnecessários/não utilizados é um dos benefícios mais significativos da coleção de lixo Java.
  • A coleção de lixo java faz eficiente de memória Como deleta os objetos não referenciados da memória automaticamente.

Como objeto não referenciado

Os objetos que não são referenciados (nenhuma parte do programa está apontando para esse objeto) pode ser recuperada pela coleção de lixo. Existem três maneiras de objetos não referenciados listados abaixo:

  • Atribua uma referência nula
  • Atribuir uma referência a outra
  • Objeto anônimo

Atribua uma referência nula

A primeira maneira de não referenciar os objetos é atribuir a referência nula ao objeto.

Estudante std = new Student ();
std = null;

Agora, a DST está disponível para coleta de lixo.

Atribuir uma referência a outro

Outra maneira de alcançar a coleta de lixo é atribuir uma referência a outro. Por exemplo:

Aluno std1 = new Student ();
Estudante std2 = novo aluno ();
std1 = std2;

Aqui, o STD1 é elegível para a coleção de lixo.

Objetos anônimos

A terceira maneira de não referenciar os objetos é o uso do objeto anônimo.

novo estudante();

Diretamente chamando o construtor.

Finalize () Método na Coleção de Lixo

É um método da classe de objeto que pode ser chamado/chamado sempre antes de o objeto ser coletado de lixo e o objetivo de finalizar () é executar o processamento de limpeza.

Sistema.Método GC ()

Uma função que pode ser usada para invocar/chamar o coletor de lixo para realizar processamento de limpeza.

Exemplos de coleta de lixo java

Vamos considerar um exemplo prático para uma profunda compreensão dos conceitos:

Exemplo

Neste exemplo, atribuiremos a referência nula ao objeto para torná -lo elegível para coleta de lixo.

Classe Student
Estudante()
Sistema.fora.println ("objeto criado");

Void protegido finalize ()
Sistema.fora.println ("objeto destruído");


classe pública GarbagecollectionExample
public static void main (string [] args)
Estudante std = new Student ();
std = null;
Sistema.gc ();

Substituímos o método finalizado da classe de objeto para processamento de limpeza e, em seguida, utilizamos o sistema.GC () Função que solicitará à JVM chamar o coletor de lixo e, portanto, destrói o objeto:

A saída autentica o funcionamento da coleção de lixo.

Da mesma forma, as outras duas maneiras podem ser usadas para não referir os objetos que eu.e. objeto anônimo e atribua uma referência a outra.

Conclusão

Em Java, o coletor de lixo procura os objetos desnecessários/não utilizados e os remove da memória. Os objetos podem não ser referenciados de três maneiras diferentes, como atribuir referência nula, atribuir uma referência a outra e usar o objeto anônimo. O método Finalize () é chamado/chamado cada vez antes de o objeto ser coletado de lixo enquanto o sistema.GC () executa o coletor de lixo e pode ser chamado para processamento de limpeza. Este artigo apresenta uma visão geral detalhada da coleção de lixo java.