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:
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:
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
A primeira maneira de não referenciar os objetos é atribuir a referência nula ao objeto.
Estudante std = new Student ();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 ();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 StudentSubstituí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.